2 Replies Latest reply on Aug 16, 2013 9:44 AM by Chris Stillwell

    Recieve error "Problems unmarshalling remote command" with DIST_ASYNC cache

    Chris Stillwell Newbie

      I have a distributed cache defined as follows in a JBoss standalone configuration file.  There are 3 servers in the cluster.

       

      <distributed-cache name="dist" mode="ASYNC" batching="true" owners="2" start="EAGER">
      </distributed-cache>
      

       

      I created a test method to just put, get, and then remove a string value from the cache.  The remove always fails.

       

      public String putAndRemoveFakeDataFromDist_key_value( String key, String value ) {
          Cache<Object, Object> cache = _cacheManager.getCache( "dist" );
          StringBuilder sb = new StringBuilder();
          try {
              sb.append( "1/4:     key='" ).append( key ).append( "', value='" ).append( value ).append( "'" ).append( "\n" );
              cache.put( key, value );
              sb.append( "2/4: put key='" ).append( key ).append( "', value='" ).append( value ).append( "'" ).append( "\n" );
              Object v = cache.get( key );
              sb.append( "3/4: get key='" ).append( key ).append( "', value='" ).append( v ).append( "'" ).append( "\n" );
              Object remove = cache.remove( key );
              sb.append( "4/4: rem key='" ).append( key ).append( "', value='" ).append( remove ).append( "'" ).append( "\n" );
          } catch ( Exception ex ) {
              getLog().error( ex.getMessage() );
              sb.append( "ERROR:" ).append( ex.getMessage() ).append( "\n" );
          }
          return sb.toString();
      }
      

       

       

      2013-08-15 18:07:52,638 WARN  [org.infinispan.remoting.transport.jgroups.CommandAwareRpcDispatcher] (Incoming-4,shared=fc-udp) Problems unmarshalling remote command from byte buffer: java.lang.ArrayIndexOutOfBoundsException: 3

              at org.infinispan.commands.write.RemoveCommand.setParameters(RemoveCommand.java:182)

              at org.infinispan.commands.RemoteCommandsFactory.fromStream(RemoteCommandsFactory.java:157)

              at org.infinispan.marshall.exts.ReplicableCommandExternalizer.readObject(ReplicableCommandExternalizer.java:114)

              at org.infinispan.marshall.exts.ReplicableCommandExternalizer.readObject(ReplicableCommandExternalizer.java:60)

              at org.infinispan.marshall.jboss.ExternalizerTable$ExternalizerAdapter.readObject(ExternalizerTable.java:404)

              at org.infinispan.marshall.jboss.ExternalizerTable.readObject(ExternalizerTable.java:225)

              at org.infinispan.marshall.jboss.JBossMarshaller$ExternalizerTableProxy.readObject(JBossMarshaller.java:164)

              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: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:404)

              at org.infinispan.marshall.jboss.ExternalizerTable.readObject(ExternalizerTable.java:225)

              at org.infinispan.marshall.jboss.JBossMarshaller$ExternalizerTableProxy.readObject(JBossMarshaller.java:164)

              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:163)

              at org.infinispan.marshall.VersionAwareMarshaller.objectFromByteBuffer(VersionAwareMarshaller.java:116)

              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:598)

              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:1020)

              at org.jgroups.protocols.RSVP.up(RSVP.java:188)

              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:797)

              at org.jgroups.protocols.UNICAST2.up(UNICAST2.java:420)

              at org.jgroups.protocols.pbcast.NAKACK2.up(NAKACK2.java:606)

              at org.jgroups.protocols.VERIFY_SUSPECT.up(VERIFY_SUSPECT.java:143)

              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:2616)

              at org.jgroups.protocols.TP.passMessageUp(TP.java:1263)

              at org.jgroups.protocols.TP$IncomingPacket.handleMyMessage(TP.java:1825)

              at org.jgroups.protocols.TP$IncomingPacket.run(TP.java:1798)

              at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) [rt.jar:1.7.0_15]

              at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) [rt.jar:1.7.0_15]

              at java.lang.Thread.run(Thread.java:722) [rt.jar:1.7.0_15]