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

2016-11-08 Thread Sanne Grinovero
On 8 November 2016 at 19:13, Radim Vansa  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  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@lists.jboss.org
 https://lists.jboss.org/mailman/listinfo/hibernate-dev
>>>
>>>
>>> --
>>> Radim Vansa 
>>> JBoss Performance Team
>>>
>>> 

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

2016-11-08 Thread Radim Vansa
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).

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

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  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@lists.jboss.org
>>> https://lists.jboss.org/mailman/listinfo/hibernate-dev
>>
>> --
>> Radim Vansa 
>> JBoss Performance Team
>>
>> ___
>> hibernate-dev mailing list
>> hibernate-dev@lists.jboss.org
>> https://lists.jboss.org/mailman/listinfo/hibernate-dev


-- 
Radim Vansa 
JBoss Performance Team

___
hibernate-dev mailing list
hibernate-dev@lists.jboss.org
https://lists.jboss.org/mailman/listinfo/hibernate-dev

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

2016-11-08 Thread Radim Vansa
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@lists.jboss.org
> https://lists.jboss.org/mailman/listinfo/hibernate-dev


-- 
Radim Vansa 
JBoss Performance Team

___
hibernate-dev mailing list
hibernate-dev@lists.jboss.org
https://lists.jboss.org/mailman/listinfo/hibernate-dev