Problems unmarshalling remote command from byte buffer
fredfrancisco Feb 7, 2013 8:27 AMHello.
I am using jboss-as-7.2.0.Alpha1-SNAPSHOT (built today), in a domain managed mode with two instances, and I am getting an error (see below).
I configured a cache as follows:
<cache-container name="MyCache" start="EAGER" module="org.jboss.as.clustering.web.infinispan">
<transport stack="udp"/>
<replicated-cache name="securityCache" mode="SYNC" start="EAGER" batching="false" jndi-name="java:jboss/securityCache">
<transaction mode="NON_XA" locking="PESSIMISTIC"/>
<state-transfer enabled="true" timeout="120000" />
</replicated-cache>
</cache-container>
When I start instance one then instance two everything works well (there is nothing in the cache). But if I start instance one and use my application, which adds an entry to the security cache, and then start the other I get an error. I assume that is because the cache cache in the second instance loads before the application and it just can't find the classes it needs.
I read somewhere that using LazyDeserialization solves this problem but I don't see that option in the schemas for jboss7.
Can anyone point me in the right direction?
Thanks.
[Server:slave1-server-one] 14:08:40,403 WARN [org.infinispan.remoting.transport.jgroups.CommandAwareRpcDispatcher] (OOB-18,null) Problems unmarshalling remote command from byte buffer: java.io.InvalidClassException: com.myapp.security.SessionEntry; Module load failed
[Server:slave1-server-one] at org.jboss.marshalling.ModularClassResolver.resolveClass(ModularClassResolver.java:108)
[Server:slave1-server-one] at org.jboss.marshalling.river.RiverUnmarshaller.doReadClassDescriptor(RiverUnmarshaller.java:893)
[Server:slave1-server-one] at org.jboss.marshalling.river.RiverUnmarshaller.doReadNewObject(RiverUnmarshaller.java:1205)
[Server:slave1-server-one] at org.jboss.marshalling.river.RiverUnmarshaller.doReadObject(RiverUnmarshaller.java:272)
[Server:slave1-server-one] at org.jboss.marshalling.river.RiverUnmarshaller.doReadObject(RiverUnmarshaller.java:209)
[Server:slave1-server-one] at org.jboss.marshalling.AbstractObjectInput.readObject(AbstractObjectInput.java:37)
[Server:slave1-server-one] at org.infinispan.container.entries.ImmortalCacheEntry$Externalizer.readObject(ImmortalCacheEntry.java:160)
[Server:slave1-server-one] at org.infinispan.container.entries.ImmortalCacheEntry$Externalizer.readObject(ImmortalCacheEntry.java:150)
[Server:slave1-server-one] at org.infinispan.marshall.jboss.ExternalizerTable$ExternalizerAdapter.readObject(ExternalizerTable.java:402)
[Server:slave1-server-one] at org.infinispan.marshall.jboss.ExternalizerTable.readObject(ExternalizerTable.java:224)
[Server:slave1-server-one] at org.infinispan.marshall.jboss.JBossMarshaller$ExternalizerTableProxy.readObject(JBossMarshaller.java:164)
[Server:slave1-server-one] at org.jboss.marshalling.river.RiverUnmarshaller.doReadObject(RiverUnmarshaller.java:351)
[Server:slave1-server-one] at org.jboss.marshalling.river.RiverUnmarshaller.doReadObject(RiverUnmarshaller.java:209)
[Server:slave1-server-one] at org.jboss.marshalling.AbstractObjectInput.readObject(AbstractObjectInput.java:37)
[Server:slave1-server-one] at org.infinispan.marshall.exts.ArrayListExternalizer.readObject(ArrayListExternalizer.java:57)
[Server:slave1-server-one] at org.infinispan.marshall.exts.ArrayListExternalizer.readObject(ArrayListExternalizer.java:45)
[Server:slave1-server-one] at org.infinispan.marshall.jboss.ExternalizerTable$ExternalizerAdapter.readObject(ExternalizerTable.java:402)
[Server:slave1-server-one] at org.infinispan.marshall.jboss.ExternalizerTable.readObject(ExternalizerTable.java:224)
[Server:slave1-server-one] at org.infinispan.marshall.jboss.JBossMarshaller$ExternalizerTableProxy.readObject(JBossMarshaller.java:164)
[Server:slave1-server-one] at org.jboss.marshalling.river.RiverUnmarshaller.doReadObject(RiverUnmarshaller.java:351)
[Server:slave1-server-one] at org.jboss.marshalling.river.RiverUnmarshaller.doReadObject(RiverUnmarshaller.java:209)
[Server:slave1-server-one] at org.jboss.marshalling.AbstractObjectInput.readObject(AbstractObjectInput.java:37)
[Server:slave1-server-one] at org.infinispan.statetransfer.StateChunk$Externalizer.readObject(StateChunk.java:111)
[Server:slave1-server-one] at org.infinispan.statetransfer.StateChunk$Externalizer.readObject(StateChunk.java:88)
[Server:slave1-server-one] at org.infinispan.marshall.jboss.ExternalizerTable$ExternalizerAdapter.readObject(ExternalizerTable.java:402)
[Server:slave1-server-one] at org.infinispan.marshall.jboss.ExternalizerTable.readObject(ExternalizerTable.java:224)
[Server:slave1-server-one] at org.infinispan.marshall.jboss.JBossMarshaller$ExternalizerTableProxy.readObject(JBossMarshaller.java:164)
[Server:slave1-server-one] at org.jboss.marshalling.river.RiverUnmarshaller.doReadObject(RiverUnmarshaller.java:351)
[Server:slave1-server-one] at org.jboss.marshalling.river.RiverUnmarshaller.doReadObject(RiverUnmarshaller.java:209)
[Server:slave1-server-one] at org.jboss.marshalling.AbstractObjectInput.readObject(AbstractObjectInput.java:37)
[Server:slave1-server-one] at org.infinispan.marshall.exts.ArrayListExternalizer.readObject(ArrayListExternalizer.java:57)
[Server:slave1-server-one] at org.infinispan.marshall.exts.ArrayListExternalizer.readObject(ArrayListExternalizer.java:45)
[Server:slave1-server-one] at org.infinispan.marshall.jboss.ExternalizerTable$ExternalizerAdapter.readObject(ExternalizerTable.java:402)
[Server:slave1-server-one] at org.infinispan.marshall.jboss.ExternalizerTable.readObject(ExternalizerTable.java:224)
[Server:slave1-server-one] at org.infinispan.marshall.jboss.JBossMarshaller$ExternalizerTableProxy.readObject(JBossMarshaller.java:164)
[Server:slave1-server-one] at org.jboss.marshalling.river.RiverUnmarshaller.doReadObject(RiverUnmarshaller.java:351)
[Server:slave1-server-one] at org.jboss.marshalling.river.RiverUnmarshaller.doReadObject(RiverUnmarshaller.java:209)
[Server:slave1-server-one] at org.jboss.marshalling.AbstractObjectInput.readObject(AbstractObjectInput.java:37)
[Server:slave1-server-one] at org.infinispan.marshall.exts.ReplicableCommandExternalizer.readParameters(ReplicableCommandExternalizer.java:130)
[Server:slave1-server-one] at org.infinispan.marshall.exts.CacheRpcCommandExternalizer.readObject(CacheRpcCommandExternalizer.java:158)
[Server:slave1-server-one] at org.infinispan.marshall.exts.CacheRpcCommandExternalizer.readObject(CacheRpcCommandExternalizer.java:73)
[Server:slave1-server-one] at org.infinispan.marshall.jboss.ExternalizerTable$ExternalizerAdapter.readObject(ExternalizerTable.java:402)
[Server:slave1-server-one] at org.infinispan.marshall.jboss.ExternalizerTable.readObject(ExternalizerTable.java:224)
[Server:slave1-server-one] at org.infinispan.marshall.jboss.JBossMarshaller$ExternalizerTableProxy.readObject(JBossMarshaller.java:164)
[Server:slave1-server-one] at org.jboss.marshalling.river.RiverUnmarshaller.doReadObject(RiverUnmarshaller.java:351)
[Server:slave1-server-one] at org.jboss.marshalling.river.RiverUnmarshaller.doReadObject(RiverUnmarshaller.java:209)
[Server:slave1-server-one] at org.jboss.marshalling.AbstractObjectInput.readObject(AbstractObjectInput.java:37)
[Server:slave1-server-one] at org.infinispan.marshall.jboss.AbstractJBossMarshaller.objectFromObjectStream(AbstractJBossMarshaller.java:163)
[Server:slave1-server-one] at org.infinispan.marshall.VersionAwareMarshaller.objectFromByteBuffer(VersionAwareMarshaller.java:116)
[Server:slave1-server-one] at org.infinispan.marshall.AbstractDelegatingMarshaller.objectFromByteBuffer(AbstractDelegatingMarshaller.java:104)
[Server:slave1-server-one] at org.infinispan.remoting.transport.jgroups.MarshallerAdapter.objectFromBuffer(MarshallerAdapter.java:50)
[Server:slave1-server-one] at org.infinispan.remoting.transport.jgroups.CommandAwareRpcDispatcher.handle(CommandAwareRpcDispatcher.java:215)
[Server:slave1-server-one] at org.jgroups.blocks.RequestCorrelator.handleRequest(RequestCorrelator.java:484)
[Server:slave1-server-one] at org.jgroups.blocks.RequestCorrelator.receiveMessage(RequestCorrelator.java:391)
[Server:slave1-server-one] at org.jgroups.blocks.RequestCorrelator.receive(RequestCorrelator.java:249)
[Server:slave1-server-one] at org.jgroups.blocks.MessageDispatcher$ProtocolAdapter.up(MessageDispatcher.java:598)
[Server:slave1-server-one] at org.jgroups.blocks.mux.MuxUpHandler.up(MuxUpHandler.java:130)
[Server:slave1-server-one] at org.jgroups.JChannel.up(JChannel.java:707)
[Server:slave1-server-one] at org.jgroups.stack.ProtocolStack.up(ProtocolStack.java:1020)
[Server:slave1-server-one] at org.jgroups.protocols.RSVP.up(RSVP.java:172)
[Server:slave1-server-one] at org.jgroups.protocols.FRAG2.up(FRAG2.java:181)
[Server:slave1-server-one] at org.jgroups.protocols.FlowControl.up(FlowControl.java:418)
[Server:slave1-server-one] at org.jgroups.protocols.FlowControl.up(FlowControl.java:400)
[Server:slave1-server-one] at org.jgroups.protocols.pbcast.GMS.up(GMS.java:896)
[Server:slave1-server-one] at org.jgroups.protocols.pbcast.STABLE.up(STABLE.java:244)
[Server:slave1-server-one] at org.jgroups.protocols.UNICAST2.handleDataReceived(UNICAST2.java:761)
[Server:slave1-server-one] at org.jgroups.protocols.UNICAST2.up(UNICAST2.java:420)
[Server:slave1-server-one] at org.jgroups.protocols.pbcast.NAKACK2.up(NAKACK2.java:606)
[Server:slave1-server-one] at org.jgroups.protocols.VERIFY_SUSPECT.up(VERIFY_SUSPECT.java:143)
[Server:slave1-server-one] at org.jgroups.protocols.FD.up(FD.java:253)
[Server:slave1-server-one] at org.jgroups.protocols.FD_SOCK.up(FD_SOCK.java:288)
[Server:slave1-server-one] at org.jgroups.protocols.MERGE3.up(MERGE3.java:290)
[Server:slave1-server-one] at org.jgroups.protocols.Discovery.up(Discovery.java:359)
[Server:slave1-server-one] at org.jgroups.protocols.TP$ProtocolAdapter.up(TP.java:2640)
[Server:slave1-server-one] at org.jgroups.protocols.TP.passMessageUp(TP.java:1287)
[Server:slave1-server-one] at org.jgroups.protocols.TP$IncomingPacket.handleMyMessage(TP.java:1850)
[Server:slave1-server-one] at org.jgroups.protocols.TP$IncomingPacket.run(TP.java:1823)
[Server:slave1-server-one] at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) [rt.jar:1.7.0_13]
[Server:slave1-server-one] at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) [rt.jar:1.7.0_13]
[Server:slave1-server-one] at java.lang.Thread.run(Thread.java:722) [rt.jar:1.7.0_13]
[Server:slave1-server-one] Caused by: org.jboss.modules.ModuleNotFoundException: deployment.myapp.ear.myapp-ejb.jar:main
[Server:slave1-server-one] at org.jboss.modules.ModuleLoader.loadModule(ModuleLoader.java:224) [jboss-modules.jar:1.2.0.CR1]
[Server:slave1-server-one] at org.jboss.marshalling.ModularClassResolver.resolveClass(ModularClassResolver.java:106)
[Server:slave1-server-one] ... 79 more