I agree. This sounds like the component being serialized as part of
its inclusion in the CacheKey rather than the component being
"disassembled".
On Fri 08 Jun 2012 08:18:52 AM CDT, Scott Marlow wrote:
> I'll be interested to hear which software versions are in use (I just
> asked in the below forum link).
>
> On 06/08/2012 08:01 AM, Galder Zamarreño wrote:
>>
>> On Jun 8, 2012, at 12:35 PM, Galder Zamarreño wrote:
>>
>>>
>>> On Jun 8, 2012, at 12:26 PM, Galder Zamarreño wrote:
>>>
>>>> Hi all,
>>>>
>>>> Re:
https://community.jboss.org/message/739399#739399
>>>>
>>>> This guy's using a combo of @EmbeddedId and @Embeddable in the
>>>> tests his provided, and this is resulting in cache key serialized
>>>> payloads differing for identical instances. Even in between runs,
>>>> the last bit of the payload varies. This obviously results in keys
>>>> not being found in the cache.
>>
>> The problem seems to come from here:
>>
>> CacheKey -> org.hibernate.type.TypeFactory$TypeScopeImpl ->
>> SessionFactoryImpl -> uuid
>>
>> So, each CacheKey is this case contains the UUID of the session
>> factory, and since each node's session factories are different, the
>> UUIDs will be too, which results in different payloads for the same
>> key.
>>
>> This would appear to be a bug in the Hibernate side? 2LC providers
>> do nothing about CacheKey, they just know that an object needs to be
>> serialized.
>>
>> Btw, that a simple key like the one in the example provided
>> generates 3KB of byte[] sounds pretty excessive...
>>
>>>>
>>>> Apart from this issue which I'm currently investigating, I've
>>>> spotted that when the CacheKey is marshalled, it also marshalls
>>>> the entity as part of the key. That sounds rather inefficient, so
>>>> is this guy:
>>>
>>> ^ I think this statement is wrong, bear with me while I confirm.
>>
>> ^ I was wrong with this.
>>
>>>
>>>>
>>>> a) using the right pattenr for @EmbeddedId + @Embeddable
>>>> b) is Hibernate behaving the right way here by having a reference
>>>> to the entity from cache key
>>>>
>>>> Cheers,
>>>> --
>>>> Galder Zamarreño
>>>> Sr. Software Engineer
>>>> Infinispan, JBoss Cache
>>>> _______________________________________________
>>>> hibernate-dev mailing list
>>>> hibernate-dev(a)lists.jboss.org
>>>>
https://lists.jboss.org/mailman/listinfo/hibernate-dev
>>>
>>> --
>>> Galder Zamarreño
>>> Sr. Software Engineer
>>> Infinispan, JBoss Cache
>>>
>>>
>>> _______________________________________________
>>> hibernate-dev mailing list
>>> hibernate-dev(a)lists.jboss.org
>>>
https://lists.jboss.org/mailman/listinfo/hibernate-dev
>>
>> --
>> Galder Zamarreño
>> Sr. Software Engineer
>> Infinispan, JBoss Cache
>>
>>
>> _______________________________________________
>> hibernate-dev mailing list
>> hibernate-dev(a)lists.jboss.org
>>
https://lists.jboss.org/mailman/listinfo/hibernate-dev
>
> _______________________________________________
> hibernate-dev mailing list
> hibernate-dev(a)lists.jboss.org
>
https://lists.jboss.org/mailman/listinfo/hibernate-dev
--
steve(a)hibernate.org
http://hibernate.org