[
https://jira.jboss.org/jira/browse/ISPN-335?page=com.atlassian.jira.plugi...
]
Galder Zamarreno commented on ISPN-335:
---------------------------------------
The root cause has been discovered on the reading side:
http://pastebin.mozilla.org/698472
2nd consecutive call to startObjectInput() must be called on a different marshaller,
otherwise, when start is called a 2nd time on the same marshaller, the stream is closed
which is precisely the cause of the EOFException.
I dealt with a similar scenarion in the past making sure the 2nd time a reentrant
parameter was passed in so that a diff marshaller was used.
EOFException when fetchPersistentState
--------------------------------------
Key: ISPN-335
URL:
https://jira.jboss.org/jira/browse/ISPN-335
Project: Infinispan
Issue Type: Bug
Components: Loaders and Stores
Affects Versions: 4.0.0.CR3
Environment: Windows 7, Mac OS X, Ubuntu, RHEL 4
Reporter: Huu-Dong Quach
Assignee: Galder Zamarreno
Fix For: 4.0.0.GA
In a clustered replicated cache, when I flag the fetchPersistentState attribute to true
for a FileStore, Infinispan generate an exception.
2010-01-20 15:33:27,935 9829 ERROR
[org.infinispan.remoting.transport.jgroups.JGroupsTransport]
(Incoming-1,Infinispan-Cluster,eq-65253:) Caught while requesting or applying state
org.infinispan.statetransfer.StateTransferException: java.io.EOFException: Read past end
of file
at
org.infinispan.statetransfer.StateTransferManagerImpl.assertDelimited(StateTransferManagerImpl.java:382)
at
org.infinispan.statetransfer.StateTransferManagerImpl.applyState(StateTransferManagerImpl.java:307)
at
org.infinispan.remoting.InboundInvocationHandlerImpl.applyState(InboundInvocationHandlerImpl.java:73)
at
org.infinispan.remoting.transport.jgroups.JGroupsTransport.setState(JGroupsTransport.java:564)
at
org.jgroups.blocks.MessageDispatcher$ProtocolAdapter.handleUpEvent(MessageDispatcher.java:655)
at org.jgroups.blocks.MessageDispatcher$ProtocolAdapter.up(MessageDispatcher.java:715)
at org.jgroups.JChannel.up(JChannel.java:1413)
at org.jgroups.stack.ProtocolStack.up(ProtocolStack.java:829)
at org.jgroups.protocols.pbcast.FLUSH.up(FLUSH.java:489)
at
org.jgroups.protocols.pbcast.STREAMING_STATE_TRANSFER.connectToStateProvider(STREAMING_STATE_TRANSFER.java:526)
at
org.jgroups.protocols.pbcast.STREAMING_STATE_TRANSFER.handleStateRsp(STREAMING_STATE_TRANSFER.java:465)
at
org.jgroups.protocols.pbcast.STREAMING_STATE_TRANSFER.up(STREAMING_STATE_TRANSFER.java:230)
at org.jgroups.protocols.FRAG2.up(FRAG2.java:188)
at org.jgroups.protocols.FC.up(FC.java:470)
at org.jgroups.protocols.pbcast.GMS.up(GMS.java:890)
at org.jgroups.protocols.pbcast.STABLE.up(STABLE.java:236)
at org.jgroups.protocols.UNICAST.handleDataReceived(UNICAST.java:588)
at org.jgroups.protocols.UNICAST.up(UNICAST.java:275)
at org.jgroups.protocols.pbcast.NAKACK.up(NAKACK.java:692)
at org.jgroups.protocols.VERIFY_SUSPECT.up(VERIFY_SUSPECT.java:132)
at org.jgroups.protocols.FD.up(FD.java:259)
at org.jgroups.protocols.FD_SOCK.up(FD_SOCK.java:269)
at org.jgroups.stack.Protocol.up(Protocol.java:340)
at org.jgroups.protocols.Discovery.up(Discovery.java:277)
at org.jgroups.protocols.TP.passMessageUp(TP.java:953)
at org.jgroups.protocols.TP.access$100(TP.java:53)
at org.jgroups.protocols.TP$IncomingPacket.handleMyMessage(TP.java:1457)
at org.jgroups.protocols.TP$IncomingPacket.run(TP.java:1439)
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:636)
Caused by: java.io.EOFException: Read past end of file
at org.jboss.marshalling.AbstractUnmarshaller.eofOnRead(AbstractUnmarshaller.java:184)
at
org.jboss.marshalling.AbstractUnmarshaller.readUnsignedByteDirect(AbstractUnmarshaller.java:312)
at
org.jboss.marshalling.AbstractUnmarshaller.readUnsignedByte(AbstractUnmarshaller.java:280)
at
org.jboss.marshalling.river.RiverUnmarshaller.doReadObject(RiverUnmarshaller.java:207)
at org.jboss.marshalling.AbstractUnmarshaller.readObject(AbstractUnmarshaller.java:85)
at
org.infinispan.marshall.jboss.JBossMarshaller.objectFromObjectStream(JBossMarshaller.java:207)
at
org.infinispan.marshall.VersionAwareMarshaller.objectFromObjectStream(VersionAwareMarshaller.java:171)
at
org.infinispan.statetransfer.StateTransferManagerImpl.assertDelimited(StateTransferManagerImpl.java:380)
... 30 more
Unrelated: Also, if I set the preload attribute to true, I expect the store to fetch the
persistant state before loading the data from the store but that's not the case.
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
https://jira.jboss.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see:
http://www.atlassian.com/software/jira