Errors using Infinispan unicast cluster, HotRod server and a HotRod client - any idea?
abelinschi May 10, 2012 6:01 PMInfinispan version 5.1.4.Final
Using a cluster of 6 nodes in unicast tcp mode configured through Jgroups 2.0.9 configuration and a HotRod server that joins the cluster successfully on start up using also unicast tcp.
After the cluster is formed correctly, using a client Java application I am trying to 'put' data in default cache in the cluster but getting the following errors in one of cluster nodes immediately after issuing the 'put("key", "value")':
WARN: Problems unmarshalling remote command from byte buffer
org.infinispan.CacheException: Type of data read is unknown. Id=-2147482548 is not amongst known reader indexes.
at org.infinispan.marshall.jboss.ExternalizerTable.readObject(ExternalizerTable.java:216)
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:37)
at org.infinispan.marshall.exts.ReplicableCommandExternalizer.readParameters(ReplicableCommandExternalizer.java:119)
at org.infinispan.marshall.exts.ReplicableCommandExternalizer.readObject(ReplicableCommandExternalizer.java:107)
at org.infinispan.marshall.exts.ReplicableCommandExternalizer.readObject(ReplicableCommandExternalizer.java:58)
at org.infinispan.marshall.jboss.ExternalizerTable$ExternalizerAdapter.readObject(ExternalizerTable.java:391)
at org.infinispan.marshall.jboss.ExternalizerTable.readObject(ExternalizerTable.java:222)
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:37)
at org.infinispan.marshall.exts.ReplicableCommandExternalizer.readParameters(ReplicableCommandExternalizer.java:119)
at org.infinispan.marshall.exts.CacheRpcCommandExternalizer.readObject(CacheRpcCommandExternalizer.java:163)
at org.infinispan.marshall.exts.CacheRpcCommandExternalizer.readObject(CacheRpcCommandExternalizer.java:67)
at org.infinispan.marshall.jboss.ExternalizerTable$ExternalizerAdapter.readObject(ExternalizerTable.java:391)
at org.infinispan.marshall.jboss.ExternalizerTable.readObject(ExternalizerTable.java:222)
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:37)
at org.infinispan.marshall.jboss.AbstractJBossMarshaller.objectFromObjectStream(AbstractJBossMarshaller.java:154)
at org.infinispan.marshall.VersionAwareMarshaller.objectFromByteBuffer(VersionAwareMarshaller.java:114)
at org.infinispan.marshall.AbstractDelegatingMarshaller.objectFromByteBuffer(AbstractDelegatingMarshaller.java:85)
at org.infinispan.remoting.transport.jgroups.MarshallerAdapter.objectFromBuffer(MarshallerAdapter.java:50)
at org.infinispan.remoting.transport.jgroups.CommandAwareRpcDispatcher.handle(CommandAwareRpcDispatcher.java:200)
at org.jgroups.blocks.RequestCorrelator.handleRequest(RequestCorrelator.java:456)
at org.jgroups.blocks.RequestCorrelator.receiveMessage(RequestCorrelator.java:363)
at org.jgroups.blocks.RequestCorrelator.receive(RequestCorrelator.java:238)
at org.jgroups.blocks.MessageDispatcher$ProtocolAdapter.up(MessageDispatcher.java:543)
at org.jgroups.JChannel.up(JChannel.java:716)
at org.jgroups.stack.ProtocolStack.up(ProtocolStack.java:1026)
at org.jgroups.protocols.RSVP.up(RSVP.java:192)
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:889)
at org.jgroups.protocols.pbcast.STABLE.up(STABLE.java:244)
at org.jgroups.protocols.UNICAST2.handleDataReceived(UNICAST2.java:759)
at org.jgroups.protocols.UNICAST2.up(UNICAST2.java:365)
at org.jgroups.protocols.pbcast.NAKACK.up(NAKACK.java:602)
at org.jgroups.protocols.VERIFY_SUSPECT.up(VERIFY_SUSPECT.java:143)
at org.jgroups.protocols.FD.up(FD.java:273)
at org.jgroups.protocols.FD_SOCK.up(FD_SOCK.java:288)
at org.jgroups.protocols.MERGE2.up(MERGE2.java:205)
at org.jgroups.protocols.Discovery.up(Discovery.java:359)
at org.jgroups.protocols.TP.passMessageUp(TP.java:1180)
at org.jgroups.protocols.TP$IncomingPacket.handleMyMessage(TP.java:1728)
at org.jgroups.protocols.TP$IncomingPacket.run(TP.java:1710)
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
at java.lang.Thread.run(Thread.java:619)
Any idea why I am getting the error?
My HotRod client reports the following error:
May 10, 2012 4:19:28 PM org.infinispan.client.hotrod.impl.protocol.Codec10 checkForErrorsInResponseStatus
WARN: ISPN004005: Error received from the server: org.infinispan.CacheException: Problems invoking command.
Exception in thread "main" org.infinispan.client.hotrod.exceptions.HotRodClientException:Request for message id[4] returned server error (status=0x85): org.infinispan.CacheException: Problems invoking command.
at org.infinispan.client.hotrod.impl.protocol.Codec10.checkForErrorsInResponseStatus(Codec10.java:156)
at org.infinispan.client.hotrod.impl.protocol.Codec10.readHeader(Codec10.java:109)
at org.infinispan.client.hotrod.impl.operations.HotRodOperation.readHeaderAndValidate(HotRodOperation.java:78)
at org.infinispan.client.hotrod.impl.operations.AbstractKeyValueOperation.sendPutOperation(AbstractKeyValueOperation.java:72)
at org.infinispan.client.hotrod.impl.operations.PutOperation.executeOperation(PutOperation.java:52)
at org.infinispan.client.hotrod.impl.operations.PutOperation.executeOperation(PutOperation.java:41)
at org.infinispan.client.hotrod.impl.operations.RetryOnFailureOperation.execute(RetryOnFailureOperation.java:68)
at org.infinispan.client.hotrod.impl.RemoteCacheImpl.put(RemoteCacheImpl.java:220)
at org.infinispan.CacheSupport.put(CacheSupport.java:53)
at org.infinispan.quickstart.clusteredcache.distribution.HotRodClient.main(HotRodClient.java:24)
Here is the HotRod client code:
BasicCacheContainer cm = new RemoteCacheManager("myhostnam:11222", true);
BasicCache<Object, Object> cache = cm.getCache();
String value = cache.get("key"); // no errors
cache.put("key", "value"); // errors out
...
Any suggestions appreciated.
thanks