I too have run into this problem using JDK 1.6 and it presents a major problem for me.
I'm currently evaluating various caching tools for our product, and we require JDK 1.6
and going to back to JDK 1.5 is not an possible for us.
It works fine when multiple nodes are brought up before anything is put into the cache.
Is there any JIRA issue that tracks this compatibility problem?
Anyway, I think the root cause in my case is the ClassNotFoundException below:
| 3687 [STREAMING_STATE_TRANSFER.reader] INFO
org.jboss.cache.statetransfer.StateTransferManager - starting state integration at node
UnversionedNode[ / data=[] RL]
| 3749 [STREAMING_STATE_TRANSFER.reader] DEBUG
org.jboss.cache.statetransfer.DefaultStateTransferIntegrator - Caught unexpected
exception
| java.lang.ClassNotFoundException: [Ljava.util.Map$Entry;
| at java.net.URLClassLoader$1.run(URLClassLoader.java:200)
| at java.security.AccessController.doPrivileged(Native Method)
| at java.net.URLClassLoader.findClass(URLClassLoader.java:188)
| at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
| at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:276)
| at java.lang.ClassLoader.loadClass(ClassLoader.java:251)
| at
org.jboss.util.stream.MarshalledValueInputStream.resolveClass(MarshalledValueInputStream.java:58)
| at java.io.ObjectInputStream.readNonProxyDesc(ObjectInputStream.java:1575)
| at java.io.ObjectInputStream.readClassDesc(ObjectInputStream.java:1496)
| at java.io.ObjectInputStream.readArray(ObjectInputStream.java:1624)
| at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1323)
| at java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java:1945)
| at java.io.ObjectInputStream.defaultReadObject(ObjectInputStream.java:480)
| at org.jboss.cache.util.MapCopy.readObject(MapCopy.java:103)
| at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
| at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
| at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
| at java.lang.reflect.Method.invoke(Method.java:597)
| at java.io.ObjectStreamClass.invokeReadObject(ObjectStreamClass.java:974)
| at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1846)
| at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1753)
| at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1329)
| at java.io.ObjectInputStream.readObject(ObjectInputStream.java:351)
| at org.jboss.cache.marshall.NodeData.readExternal(NodeData.java:84)
| at
org.jboss.cache.marshall.CacheMarshaller200.unmarshallObject(CacheMarshaller200.java:582)
| at
org.jboss.cache.marshall.CacheMarshaller200.unmarshallLinkedList(CacheMarshaller200.java:690)
| at
org.jboss.cache.marshall.CacheMarshaller200.unmarshallObject(CacheMarshaller200.java:550)
| at
org.jboss.cache.marshall.CacheMarshaller200.objectFromObjectStreamRegionBased(CacheMarshaller200.java:190)
| at
org.jboss.cache.marshall.CacheMarshaller200.objectFromObjectStream(CacheMarshaller200.java:141)
| at
org.jboss.cache.marshall.VersionAwareMarshaller.objectFromObjectStream(VersionAwareMarshaller.java:234)
| at
org.jboss.cache.statetransfer.DefaultStateTransferIntegrator.readNodesAsList(DefaultStateTransferIntegrator.java:275)
| at
org.jboss.cache.statetransfer.DefaultStateTransferIntegrator.integrateTransientState(DefaultStateTransferIntegrator.java:237)
| at
org.jboss.cache.statetransfer.DefaultStateTransferIntegrator.integrateTransientState(DefaultStateTransferIntegrator.java:78)
| at
org.jboss.cache.statetransfer.DefaultStateTransferIntegrator.integrateState(DefaultStateTransferIntegrator.java:62)
| at
org.jboss.cache.statetransfer.StateTransferManager.setState(StateTransferManager.java:201)
| at
org.jboss.cache.statetransfer.StateTransferManager.setState(StateTransferManager.java:152)
| at org.jboss.cache.CacheImpl$MessageListenerAdaptor.setState(CacheImpl.java:3407)
| at
org.jgroups.blocks.MessageDispatcher$ProtocolAdapter.handleUpEvent(MessageDispatcher.java:667)
| at
org.jgroups.blocks.MessageDispatcher$ProtocolAdapter.up(MessageDispatcher.java:722)
| at org.jgroups.JChannel.up(JChannel.java:1015)
| at org.jgroups.stack.ProtocolStack.up(ProtocolStack.java:326)
| at
org.jgroups.protocols.pbcast.STREAMING_STATE_TRANSFER$2.run(STREAMING_STATE_TRANSFER.java:674)
| at java.lang.Thread.run(Thread.java:619)
| 3749 [STREAMING_STATE_TRANSFER.reader] WARN
org.jboss.cache.statetransfer.DefaultStateTransferIntegrator - transient state
integration failed, removing all children of UnversionedNode[ / data=[] RL]
| 3781 [STREAMING_STATE_TRANSFER.reader] ERROR
org.jboss.cache.marshall.VersionAwareMarshaller - Unable to read version id from first
two bytes of stream, barfing.
| 3781 [STREAMING_STATE_TRANSFER.reader] ERROR org.jboss.cache.CacheImpl.parlay -
failed setting state
| java.io.EOFException
| at java.io.DataInputStream.readShort(DataInputStream.java:298)
| at
java.io.ObjectInputStream$BlockDataInputStream.readShort(ObjectInputStream.java:2750)
|
View the original post :
http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4048779#...
Reply to the post :
http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&a...