[hibernate-dev] [hibernate-announce] Releasing Hibernate OGM 5.1.0.Beta1: now with Hot Rod support!

Sanne Grinovero sanne at hibernate.org
Tue Nov 8 14:59:02 EST 2016


On 8 November 2016 at 19:13, Radim Vansa <rvansa at redhat.com> wrote:
> I understand that you don't want to scare users off, but I would mention
> that at least in the section about deciding between embedded and Hot Rod:
>
> "When connecting to an /Infinispan Server/ over the /Hot Rod client/, the
> architecture is similar to having Hibernate connect to traditional database:
> the data is stored on the /Infinispan Server/ nodes, and Hibernate OGM uses
> a client with a pool of TCP connections to talk to the server."
>
> Traditional databases are transactional, so I would put a notice about
> no-transactions here, with a link to "9.3.4. Storage Principles of the
> Infinispan Remote dataprovider"
>
> Most people probably understand what *is* the loss of referential integrity,
> but 9.3.4 is not really specific *when* does this happen. As you speak about
> "interrupting Hibernate OGM", I would assume that this is limited to a case
> when some operation fails (due to network breakage), but it's not clear that
> this can happen even with successful concurrent operations. Therefore, an
> example that can lead to broken integrity could be useful, along with
> information about concurrent operations that are safe (basically saying that
> if each session uses distinct set of entities, you are safe).

Ok, thanks I'll add the notice. I wouldn't go too much into an
explanation though, as it's supposed to be a reference documentation
and I feel like I'm writing a book about Infinispan :)

 - https://hibernate.atlassian.net/browse/OGM-1206


> Is there any option to detect (and fix) the problems? (by a batch job...?)

We'd be able to identify references leading nowhere, but it's also
possible that a once broken reference later leads to a valid entity...
we'd not be able to spot those, so I'm afraid that such a tool would
give a false sense of confidence.

I guess we could strictly ban ID reuse, then we could avoid this and
identify them safely; but what then? Deleting the owning entity is not
always the right thing to do. A user's callback?
I'm afraid it gets messy quickly.
But also.. remember: people seem to be happy with stuff like MongoDB.
Ignorance is a bliss?

Let's admit that we want to do better and do "the right thing":
clearly we need to work towards having proper transactions, or at
least fully atomic operations.

At least this OGM support is a great improvement in usability compared
to "roll your own" backend using native Hot Rod APIs; remember
Hibernate minimises the problem with referential integrity by updating
relations in "the right order", I suspect it even takes some skill to
craft an effective reproducer..

Thanks,
Sanne

>
> Radim
>
>
> On 11/08/2016 01:53 PM, Sanne Grinovero wrote:
>>
>> Thanks Radim!
>>
>> the blog attempts to be short, I mention the Referential Integrity
>> problem in the reference documentation:
>>
>> "
>>   Referential integrity
>>   While we can use relations based on foreign keys, Infinispan has no
>> notion of referential  integrity. Hibernate is able to maintain the
>> integrity as it won’t "forget" stale references, >  but since the
>> storage doesn’t support transactions either it is possible to
>> interrupt Hibernate OGM during such maintenance and introduce breaks
>> of integrity.
>> "
>>   -
>> https://docs.jboss.org/hibernate/ogm/5.1/reference/en-US/html_single/#storage_principles_of_the_infinispan_remote_dataprovider
>>
>> It's not explicitly listed in the known limitations, as I consider it
>> part of the "there's no transactions" point here:
>>   -
>> https://docs.jboss.org/hibernate/ogm/5.1/reference/en-US/html_single/#known_limitations_future_improvements
>>
>> You think that's enough? It's a though one, as I want to be clear
>> about the limitations but w/o scaring people off by repeating
>> limitations too many times.
>> There are also various big highlighted baloons mentioning:
>>
>>   "
>> Caution
>> The Hibernate OGM support for Infinispan Remote is considered
>> experimental. "
>>
>> Happy to clarify the docs as needed.
>>
>> Thanks!
>> Sanne
>>
>>
>> On 8 November 2016 at 17:50, Radim Vansa <rvansa at redhat.com> wrote:
>>>
>>> Wouldn't it be worth mentioning the lack of referential integrity among
>>> the limitations?
>>>
>>> Anyway, thumbs up!
>>>
>>> Radim
>>>
>>> On 11/08/2016 12:16 PM, Sanne Grinovero wrote:
>>>>
>>>> Hello everyone,
>>>>
>>>> we can finally announce that Hibernate OGM 5.1.0.Beta1 is released,
>>>> and now includes support for Infinispan Server, alias Hot Rod, also
>>>> known as Infinispan Remote ..
>>>>
>>>> - http://in.relation.to/2016/11/08/hibernate-ogm-with-hotrod-support
>>>>
>>>> We also released Hibernate OGM 5.0.3.Final
>>>>
>>>> Kind Regards,
>>>> Sanne
>>>> _______________________________________________
>>>> hibernate-dev mailing list
>>>> hibernate-dev at lists.jboss.org
>>>> https://lists.jboss.org/mailman/listinfo/hibernate-dev
>>>
>>>
>>> --
>>> Radim Vansa <rvansa at redhat.com>
>>> JBoss Performance Team
>>>
>>> _______________________________________________
>>> hibernate-dev mailing list
>>> hibernate-dev at lists.jboss.org
>>> https://lists.jboss.org/mailman/listinfo/hibernate-dev
>
>
>
> --
> Radim Vansa <rvansa at redhat.com>
> JBoss Performance Team
>



More information about the hibernate-dev mailing list