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 <gun...@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 <golov...@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 <sa...@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@lists.jboss.org
>> > https://lists.jboss.org/mailman/listinfo/hibernate-dev
>>
>> _______________________________________________
>> hibernate-dev mailing list
>> hibernate-dev@lists.jboss.org
>> https://lists.jboss.org/mailman/listinfo/hibernate-dev
>
>
_______________________________________________
hibernate-dev mailing list
hibernate-dev@lists.jboss.org
https://lists.jboss.org/mailman/listinfo/hibernate-dev

Reply via email to