Hibernate cache failure unmarshalling remote command "java.io.InvalidObjectException: Could not find a SessionFactory" in EAP 6
Issue
- Level 2 caching configured as
replicated-cache
<replicated-cache name="entity" mode="SYNC">
<transaction mode="NON_XA"/>
<eviction strategy="LRU" max-entries="10000"/>
<expiration max-idle="100000"/>
</replicated-cache>
- One or more entities with an
@Embeddable
/@EmbeddedId
are already cached in a running server
@Embeddable
public class EventId implements java.io.Serializable {
private String id;
...
public boolean equals(Object o) {
if (o instanceof EventId) {
return id.equals(EventId.class.cast(o).id);
} else {
return false;
}
}
public int hashCode() {
return id.hashCode();
}
}
@Entity
public class Event {
@EmbeddedId
private EventId id;
...
}
- When a new server is started and joins the cluster, "Problems unmarshalling remote command from byte buffer: java.io.InvalidObjectException: Could not find a SessionFactory" is reported while replicating entities with
@Embeddable
ids
... WARN [org.infinispan.remoting.transport.jgroups.CommandAwareRpcDispatcher] ... Problems unmarshalling remote command from byte buffer: java.io.InvalidObjectException: Could not find a SessionFactory [uuid=7f3079b0-fd41-4407-b888-7559d1ad96ff,name=jboss.eap-1.0-SNAPSHOT.jar#jboss-eap-hibernate]
at org.hibernate.internal.SessionFactoryImpl.locateSessionFactoryOnDeserialization(SessionFactoryImpl.java:1809) [hibernate-core-4.2.14.SP1-redhat-1.jar:4.2.14.SP1-redhat-1]
at org.hibernate.internal.SessionFactoryImpl.readResolve(SessionFactoryImpl.java:1789) [hibernate-core-4.2.14.SP1-redhat-1.jar:4.2.14.SP1-redhat-1]
...
at org.jboss.marshalling.reflect.SerializableClass.callReadResolve(SerializableClass.java:413)
...
at org.jboss.marshalling.river.RiverUnmarshaller.readFields(RiverUnmarshaller.java:1712)
at org.jboss.marshalling.river.RiverUnmarshaller.doInitSerializable(RiverUnmarshaller.java:1628)
at org.jboss.marshalling.river.RiverUnmarshaller.doReadNewObject(RiverUnmarshaller.java:1269)
at org.jboss.marshalling.river.RiverUnmarshaller.doReadObject(RiverUnmarshaller.java:272)
at org.jboss.marshalling.river.RiverUnmarshaller.doReadObject(RiverUnmarshaller.java:209)
at org.jboss.marshalling.AbstractObjectInput.readObject(AbstractObjectInput.java:41)
at org.infinispan.container.entries.TransientCacheEntry$Externalizer.readObject(TransientCacheEntry.java:177)
at org.infinispan.container.entries.TransientCacheEntry$Externalizer.readObject(TransientCacheEntry.java:166)
at org.infinispan.marshall.jboss.ExternalizerTable$ExternalizerAdapter.readObject(ExternalizerTable.java:406)
at org.infinispan.marshall.jboss.ExternalizerTable.readObject(ExternalizerTable.java:226)
at org.infinispan.marshall.jboss.JBossMarshaller$ExternalizerTableProxy.readObject(JBossMarshaller.java:167)
at org.jboss.marshalling.river.RiverUnmarshaller.doReadObject(RiverUnmarshaller.java:351)
at org.jboss.marshalling.river.RiverUnmarshaller.doReadObject(RiverUnmarshaller.java:209)
at org.jboss.marshalling.AbstractObjectInput.readObject(AbstractObjectInput.java:41)
at org.infinispan.marshall.exts.ArrayListExternalizer.readObject(ArrayListExternalizer.java:57)
at org.infinispan.marshall.exts.ArrayListExternalizer.readObject(ArrayListExternalizer.java:45)
at org.infinispan.marshall.jboss.ExternalizerTable$ExternalizerAdapter.readObject(ExternalizerTable.java:406)
at org.infinispan.marshall.jboss.ExternalizerTable.readObject(ExternalizerTable.java:226)
at org.infinispan.marshall.jboss.JBossMarshaller$ExternalizerTableProxy.readObject(JBossMarshaller.java:167)
at org.jboss.marshalling.river.RiverUnmarshaller.doReadObject(RiverUnmarshaller.java:351)
at org.jboss.marshalling.river.RiverUnmarshaller.doReadObject(RiverUnmarshaller.java:209)
at org.jboss.marshalling.AbstractObjectInput.readObject(AbstractObjectInput.java:41)
at org.infinispan.statetransfer.StateChunk$Externalizer.readObject(StateChunk.java:111)
at org.infinispan.statetransfer.StateChunk$Externalizer.readObject(StateChunk.java:88)
at org.infinispan.marshall.jboss.ExternalizerTable$ExternalizerAdapter.readObject(ExternalizerTable.java:406)
at org.infinispan.marshall.jboss.ExternalizerTable.readObject(ExternalizerTable.java:226)
at org.infinispan.marshall.jboss.JBossMarshaller$ExternalizerTableProxy.readObject(JBossMarshaller.java:167)
at org.jboss.marshalling.river.RiverUnmarshaller.doReadObject(RiverUnmarshaller.java:351)
at org.jboss.marshalling.river.RiverUnmarshaller.doReadObject(RiverUnmarshaller.java:209)
at org.jboss.marshalling.AbstractObjectInput.readObject(AbstractObjectInput.java:41)
at org.infinispan.marshall.exts.ArrayListExternalizer.readObject(ArrayListExternalizer.java:57)
at org.infinispan.marshall.exts.ArrayListExternalizer.readObject(ArrayListExternalizer.java:45)
at org.infinispan.marshall.jboss.ExternalizerTable$ExternalizerAdapter.readObject(ExternalizerTable.java:406)
at org.infinispan.marshall.jboss.ExternalizerTable.readObject(ExternalizerTable.java:226)
at org.infinispan.marshall.jboss.JBossMarshaller$ExternalizerTableProxy.readObject(JBossMarshaller.java:167)
at org.jboss.marshalling.river.RiverUnmarshaller.doReadObject(RiverUnmarshaller.java:351)
at org.jboss.marshalling.river.RiverUnmarshaller.doReadObject(RiverUnmarshaller.java:209)
at org.jboss.marshalling.AbstractObjectInput.readObject(AbstractObjectInput.java:41)
at org.infinispan.marshall.exts.ReplicableCommandExternalizer.readParameters(ReplicableCommandExternalizer.java:130)
at org.infinispan.marshall.exts.CacheRpcCommandExternalizer.readObject(CacheRpcCommandExternalizer.java:158)
at org.infinispan.marshall.exts.CacheRpcCommandExternalizer.readObject(CacheRpcCommandExternalizer.java:73)
at org.infinispan.marshall.jboss.ExternalizerTable$ExternalizerAdapter.readObject(ExternalizerTable.java:406)
at org.infinispan.marshall.jboss.ExternalizerTable.readObject(ExternalizerTable.java:226)
at org.infinispan.marshall.jboss.JBossMarshaller$ExternalizerTableProxy.readObject(JBossMarshaller.java:167)
at org.jboss.marshalling.river.RiverUnmarshaller.doReadObject(RiverUnmarshaller.java:351)
at org.jboss.marshalling.river.RiverUnmarshaller.doReadObject(RiverUnmarshaller.java:209)
at org.jboss.marshalling.AbstractObjectInput.readObject(AbstractObjectInput.java:41)
at org.infinispan.marshall.jboss.AbstractJBossMarshaller.objectFromObjectStream(AbstractJBossMarshaller.java:163)
at org.infinispan.marshall.VersionAwareMarshaller.objectFromByteBuffer(VersionAwareMarshaller.java:121)
at org.infinispan.marshall.AbstractDelegatingMarshaller.objectFromByteBuffer(AbstractDelegatingMarshaller.java:104)
at org.infinispan.remoting.transport.jgroups.MarshallerAdapter.objectFromBuffer(MarshallerAdapter.java:50)
at org.infinispan.remoting.transport.jgroups.CommandAwareRpcDispatcher.handle(CommandAwareRpcDispatcher.java:215)
at org.jgroups.blocks.RequestCorrelator.handleRequest(RequestCorrelator.java:484)
at org.jgroups.blocks.RequestCorrelator.receiveMessage(RequestCorrelator.java:391)
at org.jgroups.blocks.RequestCorrelator.receive(RequestCorrelator.java:249)
at org.jgroups.blocks.MessageDispatcher$ProtocolAdapter.up(MessageDispatcher.java:600)
at org.jgroups.blocks.mux.MuxUpHandler.up(MuxUpHandler.java:130)
at org.jgroups.JChannel.up(JChannel.java:707)
at org.jgroups.stack.ProtocolStack.up(ProtocolStack.java:1025)
at org.jgroups.protocols.RSVP.up(RSVP.java:172)
at org.jgroups.protocols.FRAG2.up(FRAG2.java:181)
at org.jgroups.protocols.FlowControl.up(FlowControl.java:418)
at org.jgroups.protocols.FlowControl.up(FlowControl.java:400)
at org.jgroups.protocols.pbcast.GMS.up(GMS.java:896)
at org.jgroups.protocols.pbcast.STABLE.up(STABLE.java:245)
at org.jgroups.protocols.UNICAST2.handleDataReceived(UNICAST2.java:766)
at org.jgroups.protocols.UNICAST2.up(UNICAST2.java:420)
at org.jgroups.protocols.pbcast.NAKACK.up(NAKACK.java:645)
at org.jgroups.protocols.VERIFY_SUSPECT.up(VERIFY_SUSPECT.java:147)
at org.jgroups.protocols.FD.up(FD.java:253)
at org.jgroups.protocols.FD_SOCK.up(FD_SOCK.java:288)
at org.jgroups.protocols.MERGE3.up(MERGE3.java:290)
at org.jgroups.protocols.Discovery.up(Discovery.java:359)
at org.jgroups.protocols.TP$ProtocolAdapter.up(TP.java:2607)
at org.jgroups.protocols.TP.passMessageUp(TP.java:1260)
at org.jgroups.protocols.TP$IncomingPacket.handleMyMessage(TP.java:1822)
at org.jgroups.protocols.TP$IncomingPacket.run(TP.java:1795)
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:895) [rt.jar:1.6.0_45]
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:918) [rt.jar:1.6.0_45]
at java.lang.Thread.run(Thread.java:662) [rt.jar:1.6.0_45]
Caused by: an exception which occurred:
in object of type org.hibernate.internal.SessionFactoryImpl
-> classloader hierarchy:
-> type classloader = ModuleClassLoader for Module "org.hibernate:main" from local module loader @2c19e15c (finder: local module finder @571a75a2 (roots: /opt/jboss-eap-6.3.0/modules,/opt/jboss-eap-6.3.0/modules/system/layers/base))
-> parent classloader = sun.misc.Launcher$AppClassLoader@425224ee
->...file:/opt/jboss-eap-6.3.0/jboss-modules.jar
-> parent classloader = sun.misc.Launcher$ExtClassLoader@1ef6a746
->...file:/opt/jdk1.6.0_45/jre/lib/ext/sunpkcs11.jar
->...file:/opt/jdk1.6.0_45/jre/lib/ext/dnsns.jar
->...file:/opt/jdk1.6.0_45/jre/lib/ext/sunjce_provider.jar
->...file:/opt/jdk1.6.0_45/jre/lib/ext/localedata.jar
in field factory
in object of type org.hibernate.type.TypeFactory$TypeScopeImpl
-> classloader hierarchy:
-> type classloader = ModuleClassLoader for Module "org.hibernate:main" from local module loader @2c19e15c (finder: local module finder @571a75a2 (roots: /opt/jboss-eap-6.3.0/modules,/opt/jboss-eap-6.3.0/modules/system/layers/base))
-> parent classloader = sun.misc.Launcher$AppClassLoader@425224ee
->...file:/opt/jboss-eap-6.3.0/jboss-modules.jar
-> parent classloader = sun.misc.Launcher$ExtClassLoader@1ef6a746
->...file:/opt/jdk1.6.0_45/jre/lib/ext/sunpkcs11.jar
->...file:/opt/jdk1.6.0_45/jre/lib/ext/dnsns.jar
->...file:/opt/jdk1.6.0_45/jre/lib/ext/sunjce_provider.jar
->...file:/opt/jdk1.6.0_45/jre/lib/ext/localedata.jar
in field typeScope
in object of type org.hibernate.type.ComponentType
-> classloader hierarchy:
-> type classloader = ModuleClassLoader for Module "org.hibernate:main" from local module loader @2c19e15c (finder: local module finder @571a75a2 (roots: /opt/jboss-eap-6.3.0/modules,/opt/jboss-eap-6.3.0/modules/system/layers/base))
-> parent classloader = sun.misc.Launcher$AppClassLoader@425224ee
->...file:/opt/jboss-eap-6.3.0/jboss-modules.jar
-> parent classloader = sun.misc.Launcher$ExtClassLoader@1ef6a746
->...file:/opt/jdk1.6.0_45/jre/lib/ext/sunpkcs11.jar
->...file:/opt/jdk1.6.0_45/jre/lib/ext/dnsns.jar
->...file:/opt/jdk1.6.0_45/jre/lib/ext/sunjce_provider.jar
->...file:/opt/jdk1.6.0_45/jre/lib/ext/localedata.jar
in field type
in object of type org.hibernate.cache.spi.CacheKey
-> classloader hierarchy:
-> type classloader = ModuleClassLoader for Module "org.hibernate:main" from local module loader @2c19e15c (finder: local module finder @571a75a2 (roots: /opt/jboss-eap-6.3.0/modules,/opt/jboss-eap-6.3.0/modules/system/layers/base))
-> parent classloader = sun.misc.Launcher$AppClassLoader@425224ee
->...file:/opt/jboss-eap-6.3.0/jboss-modules.jar
-> parent classloader = sun.misc.Launcher$ExtClassLoader@1ef6a746
->...file:/opt/jdk1.6.0_45/jre/lib/ext/sunpkcs11.jar
->...file:/opt/jdk1.6.0_45/jre/lib/ext/dnsns.jar
->...file:/opt/jdk1.6.0_45/jre/lib/ext/sunjce_provider.jar
->...file:/opt/jdk1.6.0_45/jre/lib/ext/localedata.jar
Environment
- Red Hat JBoss Enterprise Application Platform (EAP) 6
- Hibernate 4
- Infinispan
Subscriber exclusive content
A Red Hat subscription provides unlimited access to our knowledgebase, tools, and much more.