[hibernate-dev] Health check status API
chris at hibernate.org
Fri Jun 1 09:06:43 EDT 2018
On 06/01/2018 03:00 AM, Yoann Rodiere wrote:
>> We could do it via the Statistics mechanism which can be made available
> >From what I understand it would be an explicit call from the user
> (OpenShift in this case) that would trigger an active check, like a request
> to the database. Not sure the statistics are the best place to put such a
I don't believe so either, although data from the Statistics may be what
we do expose.
Perhaps a service placed into the StandardServiceRegistry that operates
SessionFactoryObserver would work in this case allowing us to support
the use case
where an application spins up multiple SessionFactory configurations.
> Or is it about us doing periodic checks on our own, and displaying the
> results somewhere for anyone to see if something is wrong? That sounds
> unnecessarily complex.
We either do it periodically or we do it at the time the health check
endpoint is called?
> Sure. I wonder about the granularity though: if we have multiple
> connections (multiple Elasticsearch cluster, a Lucene cluster with JGroups
> or JMS, ...), what would these OpenShift people want us to expose? One big
> "everything is fine/something is wrong" status, potentially returning a
> specific error message to tell what part is wrong exactly? Or finer-grained
> statuses, like "backend X: OK, backend Y: OK, Backend Z/JGroups: OK, ..."?
I haven't looked at OpenShift specifically as-of-yet but I would guess
it is something
akin to my experience with Eureka where the caller is effectively
checking 2 things
1. Can I reach the endpoint (if not, its definitely OFFLINE)
2. The value of the "status" named value in the root of the JSON response.
So I would expect we'd had some type of structure similar to this JSON
> Also, I suppose we would expose our own APIs/SPIs, right? Not implement
> some OpenShift-specific SPIs? I'd rather avoid that...
> On Fri, 1 Jun 2018 at 01:36 Vlad Mihalcea <mihalcea.vlad at gmail.com> wrote:
>> We could do it via the Statistics mechanism which can be made available via
>> We just have to add whatever info they are interested in to monitor.
>> On Thu, May 31, 2018 at 7:40 PM, Sanne Grinovero <sanne at hibernate.org>
>>> It was suggested to me that Hibernate ORM could help people developing
>>> microservices on Kubernetes / Openshift by making "health checks"
>>> 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?
>>> hibernate-dev mailing list
>>> hibernate-dev at lists.jboss.org
>> hibernate-dev mailing list
>> hibernate-dev at lists.jboss.org
More information about the hibernate-dev