[hibernate-dev] Health check status API

Steve Ebersole steve at hibernate.org
Sun Jun 3 18:32:02 EDT 2018


I've looked into both Hawkular and Dropwizard.  Personally I found neither
of them particularly easy to play with.

Did you have something specific in mind besides what we already collect
with the Statistics API?  As Vlad mentioned, we can already do this.


On Sun, Jun 3, 2018 at 5:22 PM Sanne Grinovero <sanne at hibernate.org> wrote:

> Thanks for all comments!
>
> Agreed to look at MicroProfile and other IO engines.
>
> Sure we don't want to pull in more dependencies, just allow others to
> query Hibernate status over a well-defined API. In case this was to
> need some Openshift or MicroProfile specifics I'd code that as a new
> module, somewhat like providing a working example, which calls into /
> boots Hibernate.
>
> I don't like to rely exclusively on the orchestration layer to
> try/reboot in a loop as the only mechanism - we need to help with
> that.
>
> With a non-trivial amount of inter-dependent services, you'd have the
> risk of livelock. Even if it eventually resolves with some lucky
> timings, you might end up rebooting the Hibernate SessionFactory -
> including the JVM - and several other services. That could easily take
> a long time and waste a ton of computing resources if we're not
> careful.
>
> Sanne
>
>
>
> On 1 June 2018 at 14:57, Gunnar Morling <gunnar at hibernate.org> wrote:
> > +1 for looking into the mP health check API.
> >
> > In fact, I don't even think that Hibernate would have to implement any
> sort
> > of looping itself. Instead, the orchestration layer would check the
> health
> > check endpoint and automatically restart the service if it's not in a
> > healthy state. That way, the ordering of start up isn't really an issue,
> the
> > application would be simply restarted as often as needed until the DB is
> up.
> >
> > 2018-06-01 15:44 GMT+02:00 Andrej Golovnin <golovnin at gmx.net>:
> >>
> >> Hi Sanne,
> >>
> >> whatever you consider to implement in Hibernate ORM/Search/OMG
> >> I think you should use/follow the MicroProfile Health spec [1].
> >> As far as I know WildFly Swarm supports already this spec.
> >>
> >> Best regards,
> >> Andrej Golovnin
> >>
> >> [1] https://github.com/eclipse/microprofile-health/
> >>
> >> > On 31. May 2018, at 18:40, Sanne Grinovero <sanne at hibernate.org>
> wrote:
> >> >
> >> > It was suggested to me that Hibernate ORM could help people developing
> >> > microservices on Kubernetes / Openshift by making "health checks"
> >> > easier.
> >> >
> >> > In short, how to expose to some management API that we're being able
> >> > to connect to the database and do our usual things.
> >> >
> >> > This could be done by connection pools as well but I suspect there
> >> > could be benefits in exposing this information in a unified way at an
> >> > higher level API; also on top of using ad-hoc specific connection
> >> > APIs, or Dialect specific instructions, I guess we could monitor
> >> > timeout exceptions, etc.. happening on the application sessions.
> >> >
> >> > Wrote some notes on:
> >> > - https://hibernate.atlassian.net/browse/HHH-12655
> >> >
> >> > Probably best to explore this in ORM first, but then Search and OGM
> >> > could expose/implement it too for their respective services?
> >> >
> >> > Or maybe people would prefer to just run a query?
> >> >
> >> > Thanks,
> >> > Sanne
> >> > _______________________________________________
> >> > hibernate-dev mailing list
> >> > hibernate-dev at lists.jboss.org
> >> > https://lists.jboss.org/mailman/listinfo/hibernate-dev
> >>
> >> _______________________________________________
> >> hibernate-dev mailing list
> >> hibernate-dev at lists.jboss.org
> >> https://lists.jboss.org/mailman/listinfo/hibernate-dev
> >
> >
> _______________________________________________
> hibernate-dev mailing list
> hibernate-dev at lists.jboss.org
> https://lists.jboss.org/mailman/listinfo/hibernate-dev
>


More information about the hibernate-dev mailing list