[
https://issues.jboss.org/browse/ISPN-1465?page=com.atlassian.jira.plugin....
]
Paul Ferraro commented on ISPN-1465:
------------------------------------
Perhaps the offset is usually 0?
Also the above fix didn't actually fix the IOException in my tests. So, I'm still
looking into this as well.
Unsupported protocol version when handling RPC messages
-------------------------------------------------------
Key: ISPN-1465
URL:
https://issues.jboss.org/browse/ISPN-1465
Project: Infinispan
Issue Type: Bug
Components: RPC
Affects Versions: 5.1.0.BETA1
Reporter: Paul Ferraro
Assignee: Paul Ferraro
Priority: Blocker
Fix For: 5.1.0.BETA3
When testing the latest BETA1 as well as the latest SNAPSHOT (in anticipation of BETA2),
I see the following exceptions in the AS7 testsuite:
WARN: Problems unmarshalling remote command from byte buffer
java.io.IOException: Unsupported protocol version 172
at org.jboss.marshalling.river.RiverUnmarshaller.start(RiverUnmarshaller.java:1184)
at
org.infinispan.marshall.jboss.AbstractJBossMarshaller.startObjectInput(AbstractJBossMarshaller.java:113)
at
org.infinispan.marshall.VersionAwareMarshaller.startObjectInput(VersionAwareMarshaller.java:156)
at
org.infinispan.marshall.VersionAwareMarshaller.objectFromByteBuffer(VersionAwareMarshaller.java:112)
at
org.infinispan.marshall.AbstractDelegatingMarshaller.objectFromByteBuffer(AbstractDelegatingMarshaller.java:80)
at
org.infinispan.remoting.transport.jgroups.MarshallerAdapter.objectFromBuffer(MarshallerAdapter.java:50)
at
org.infinispan.remoting.transport.jgroups.CommandAwareRpcDispatcher.handle(CommandAwareRpcDispatcher.java:139)
at org.jgroups.blocks.RequestCorrelator.handleRequest(RequestCorrelator.java:446)
at org.jgroups.blocks.RequestCorrelator.receiveMessage(RequestCorrelator.java:353)
at org.jgroups.blocks.RequestCorrelator.receive(RequestCorrelator.java:229)
at org.jgroups.blocks.MessageDispatcher$ProtocolAdapter.up(MessageDispatcher.java:556)
at org.jgroups.JChannel.up(JChannel.java:718)
at org.jgroups.stack.ProtocolStack.up(ProtocolStack.java:1026)
at org.jgroups.protocols.pbcast.FLUSH.up(FLUSH.java:481)
at org.jgroups.protocols.pbcast.STATE_TRANSFER.up(STATE_TRANSFER.java:178)
at org.jgroups.protocols.FRAG2.up(FRAG2.java:181)
at org.jgroups.protocols.FlowControl.up(FlowControl.java:400)
at org.jgroups.protocols.FlowControl.up(FlowControl.java:418)
at org.jgroups.protocols.pbcast.GMS.up(GMS.java:865)
at org.jgroups.protocols.pbcast.STABLE.up(STABLE.java:244)
at org.jgroups.protocols.UNICAST.up(UNICAST.java:297)
at org.jgroups.protocols.pbcast.NAKACK.handleMessage(NAKACK.java:719)
at org.jgroups.protocols.pbcast.NAKACK.up(NAKACK.java:547)
at org.jgroups.protocols.BARRIER.up(BARRIER.java:126)
at org.jgroups.protocols.FD_ALL.up(FD_ALL.java:171)
at org.jgroups.protocols.FD_SOCK.up(FD_SOCK.java:273)
at org.jgroups.protocols.MERGE2.up(MERGE2.java:208)
at org.jgroups.protocols.Discovery.up(Discovery.java:335)
at org.jgroups.protocols.TP.passMessageUp(TP.java:1091)
at org.jgroups.protocols.TP$IncomingPacket.handleMyMessage(TP.java:1646)
at org.jgroups.protocols.TP$IncomingPacket.run(TP.java:1623)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603)
at java.lang.Thread.run(Thread.java:679)
Looking at the CommandAwareRpcDispatcher.handle(Message) (line 139):
cmd = (ReplicableCommand) req_marshaller.objectFromBuffer(req.getBuffer(),
req.getOffset(), req.getLength());
However, Message.getBuffer() already returns a copy of the message buffer that takes into
account the offset and length. So, it would seem the above code will return a subset of
the desired buffer if the offset > 0.
Either this code should operate on the raw buffer (i.e. req.getRawBuffer()), or pass 0 as
the offset to objectFromBuffer(...).
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators:
https://issues.jboss.org/secure/ContactAdministrators!default.jspa
For more information on JIRA, see:
http://www.atlassian.com/software/jira