[ https://issues.apache.org/jira/browse/IGNITE-3429?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15548523#comment-15548523 ]
Fred edited comment on IGNITE-3429 at 10/5/16 12:14 PM: -------------------------------------------------------- Having issues when using OptimizedMarshaller and @EmbeddedId. OptimizedMarshaller.marhsal(Object obj) obj.type appears to be org.hibernate.type.ComponentType which doesnt appear to be marshalled / unmarshalled correctly (assuming since has reference to SessionFactoryImpl, etc): Caused by: org.hibernate.cache.CacheException: class org.apache.ignite.IgniteCheckedException: Failed to deserialize object with given class loader: org.apache.ignite.internal.processors.cache.GridCacheDeploymentManager$CacheClassLoader@1ca4a47 at org.apache.ignite.cache.hibernate.HibernateReadWriteAccessStrategy.get(HibernateReadWriteAccessStrategy.java:89) at org.apache.ignite.cache.hibernate.HibernateAbstractRegionAccessStrategy.get(HibernateAbstractRegionAccessStrategy.java:41) at org.hibernate.engine.internal.CacheHelper.fromSharedCache(CacheHelper.java:55) at org.hibernate.engine.internal.CacheHelper.fromSharedCache(CacheHelper.java:67) at org.hibernate.event.internal.DefaultLoadEventListener.loadFromSecondLevelCache(DefaultLoadEventListener.java:598) at org.hibernate.event.internal.DefaultLoadEventListener.doLoad(DefaultLoadEventListener.java:452) at org.hibernate.event.internal.DefaultLoadEventListener.load(DefaultLoadEventListener.java:213) at org.hibernate.event.internal.DefaultLoadEventListener.proxyOrLoad(DefaultLoadEventListener.java:275) at org.hibernate.event.internal.DefaultLoadEventListener.onLoad(DefaultLoadEventListener.java:151) at org.hibernate.internal.SessionImpl.fireLoad(SessionImpl.java:1106) at org.hibernate.internal.SessionImpl.access$2000(SessionImpl.java:176) at org.hibernate.internal.SessionImpl$IdentifierLoadAccessImpl.load(SessionImpl.java:2587) at org.hibernate.internal.SessionImpl.get(SessionImpl.java:991) at org.hibernate.jpa.spi.AbstractEntityManagerImpl.find(AbstractEntityManagerImpl.java:1110) Caused by: class org.apache.ignite.IgniteCheckedException: Failed to deserialize object with given class loader: org.apache.ignite.internal.processors.cache.GridCacheDeploymentManager$CacheClassLoader@1ca4a47 at org.apache.ignite.marshaller.optimized.OptimizedMarshaller.unmarshal(OptimizedMarshaller.java:250) at org.apache.ignite.internal.processors.cacheobject.IgniteCacheObjectProcessorImpl.unmarshal(IgniteCacheObjectProcessorImpl.java:111) at org.apache.ignite.internal.processors.cache.binary.CacheObjectBinaryProcessorImpl.unmarshal(CacheObjectBinaryProcessorImpl.java:766) at org.apache.ignite.internal.processors.cache.KeyCacheObjectImpl.finishUnmarshal(KeyCacheObjectImpl.java:147) at org.apache.ignite.internal.processors.cache.distributed.near.GridNearSingleGetRequest.finishUnmarshal(GridNearSingleGetRequest.java:246) at org.apache.ignite.internal.processors.cache.GridCacheIoManager.unmarshall(GridCacheIoManager.java:1215) at org.apache.ignite.internal.processors.cache.GridCacheIoManager.onMessage0(GridCacheIoManager.java:348) at org.apache.ignite.internal.processors.cache.GridCacheIoManager.handleMessage(GridCacheIoManager.java:277) at org.apache.ignite.internal.processors.cache.GridCacheIoManager.access$000(GridCacheIoManager.java:88) at org.apache.ignite.internal.processors.cache.GridCacheIoManager$1.onMessage(GridCacheIoManager.java:231) at org.apache.ignite.internal.managers.communication.GridIoManager.invokeListener(GridIoManager.java:1238) at org.apache.ignite.internal.managers.communication.GridIoManager.processRegularMessage0(GridIoManager.java:866) at org.apache.ignite.internal.managers.communication.GridIoManager.access$1700(GridIoManager.java:106) at org.apache.ignite.internal.managers.communication.GridIoManager$5.run(GridIoManager.java:829) Caused by: java.io.InvalidObjectException: Could not find a SessionFactory [uuid=66fcaa43-9434-45f8-8f34-e3f9f3e11d51,name=null] at org.hibernate.internal.SessionFactoryImpl.locateSessionFactoryOnDeserialization(SessionFactoryImpl.java:1781) at org.hibernate.internal.SessionFactoryImpl.readResolve(SessionFactoryImpl.java:1761) was (Author: fwvista): Having issues when using OptimizedMarshaller and @EmbeddedId. OptimizedMarshaller.marhsal(Object obj) obj.type appears to be org.hibernate.type.ComponentType which doesnt appear to be marshalled / unmarshalled correctly: Caused by: org.hibernate.cache.CacheException: class org.apache.ignite.IgniteCheckedException: Failed to deserialize object with given class loader: org.apache.ignite.internal.processors.cache.GridCacheDeploymentManager$CacheClassLoader@1ca4a47 at org.apache.ignite.cache.hibernate.HibernateReadWriteAccessStrategy.get(HibernateReadWriteAccessStrategy.java:89) at org.apache.ignite.cache.hibernate.HibernateAbstractRegionAccessStrategy.get(HibernateAbstractRegionAccessStrategy.java:41) at org.hibernate.engine.internal.CacheHelper.fromSharedCache(CacheHelper.java:55) at org.hibernate.engine.internal.CacheHelper.fromSharedCache(CacheHelper.java:67) at org.hibernate.event.internal.DefaultLoadEventListener.loadFromSecondLevelCache(DefaultLoadEventListener.java:598) at org.hibernate.event.internal.DefaultLoadEventListener.doLoad(DefaultLoadEventListener.java:452) at org.hibernate.event.internal.DefaultLoadEventListener.load(DefaultLoadEventListener.java:213) at org.hibernate.event.internal.DefaultLoadEventListener.proxyOrLoad(DefaultLoadEventListener.java:275) at org.hibernate.event.internal.DefaultLoadEventListener.onLoad(DefaultLoadEventListener.java:151) at org.hibernate.internal.SessionImpl.fireLoad(SessionImpl.java:1106) at org.hibernate.internal.SessionImpl.access$2000(SessionImpl.java:176) at org.hibernate.internal.SessionImpl$IdentifierLoadAccessImpl.load(SessionImpl.java:2587) at org.hibernate.internal.SessionImpl.get(SessionImpl.java:991) at org.hibernate.jpa.spi.AbstractEntityManagerImpl.find(AbstractEntityManagerImpl.java:1110) Caused by: class org.apache.ignite.IgniteCheckedException: Failed to deserialize object with given class loader: org.apache.ignite.internal.processors.cache.GridCacheDeploymentManager$CacheClassLoader@1ca4a47 at org.apache.ignite.marshaller.optimized.OptimizedMarshaller.unmarshal(OptimizedMarshaller.java:250) at org.apache.ignite.internal.processors.cacheobject.IgniteCacheObjectProcessorImpl.unmarshal(IgniteCacheObjectProcessorImpl.java:111) at org.apache.ignite.internal.processors.cache.binary.CacheObjectBinaryProcessorImpl.unmarshal(CacheObjectBinaryProcessorImpl.java:766) at org.apache.ignite.internal.processors.cache.KeyCacheObjectImpl.finishUnmarshal(KeyCacheObjectImpl.java:147) at org.apache.ignite.internal.processors.cache.distributed.near.GridNearSingleGetRequest.finishUnmarshal(GridNearSingleGetRequest.java:246) at org.apache.ignite.internal.processors.cache.GridCacheIoManager.unmarshall(GridCacheIoManager.java:1215) at org.apache.ignite.internal.processors.cache.GridCacheIoManager.onMessage0(GridCacheIoManager.java:348) at org.apache.ignite.internal.processors.cache.GridCacheIoManager.handleMessage(GridCacheIoManager.java:277) at org.apache.ignite.internal.processors.cache.GridCacheIoManager.access$000(GridCacheIoManager.java:88) at org.apache.ignite.internal.processors.cache.GridCacheIoManager$1.onMessage(GridCacheIoManager.java:231) at org.apache.ignite.internal.managers.communication.GridIoManager.invokeListener(GridIoManager.java:1238) at org.apache.ignite.internal.managers.communication.GridIoManager.processRegularMessage0(GridIoManager.java:866) at org.apache.ignite.internal.managers.communication.GridIoManager.access$1700(GridIoManager.java:106) at org.apache.ignite.internal.managers.communication.GridIoManager$5.run(GridIoManager.java:829) Caused by: java.io.InvalidObjectException: Could not find a SessionFactory [uuid=66fcaa43-9434-45f8-8f34-e3f9f3e11d51,name=null] at org.hibernate.internal.SessionFactoryImpl.locateSessionFactoryOnDeserialization(SessionFactoryImpl.java:1781) at org.hibernate.internal.SessionFactoryImpl.readResolve(SessionFactoryImpl.java:1761) > org.hibernate.cache.spi.CacheKey not properly serialized by binary marshaller > ----------------------------------------------------------------------------- > > Key: IGNITE-3429 > URL: https://issues.apache.org/jira/browse/IGNITE-3429 > Project: Ignite > Issue Type: Bug > Components: cache > Affects Versions: 1.6 > Reporter: Valentin Kulichenko > Priority: Critical > Fix For: 1.8 > > > {{org.hibernate.cache.spi.CacheKey}} is a class used as a key for all entries > in the Hibernate L2 cache. This class contains {{type}} field and custom > {{equals}} logic where the type is used as a helper and does not participate > in comparison. Instances of the same type are producing different hash codes > in different JVMs, which actually breaks comparison when binary format is > used, where byte arrays are compared. > The issue is described in more detail here: > http://stackoverflow.com/questions/38132263/apache-ignite-as-hibernate-l2-cache-storing-duplicate-entities -- This message was sent by Atlassian JIRA (v6.3.4#6332)