I tried moving production to a two-node cluster (Openfire 3.7.1 w/ patched clustering to support Coherence 3.7, using 1.6u30 JRE), which was a hit/miss success. If I restart both nodes at the same time, I get these errors. Any ideas? My next step is to back down to Coherence 3.3.1 again and see if this is reproducable with that release.
2012-02-19 08:48:01.891/28.622 Oracle Coherence GE 3.7.1.0 (thread=Invoc
ation:OpenFire Cluster Service, member=2): Failure to deserialize an Invocable o
bject: java.io.IOException: readObject failed: java.lang.ClassNotFoundException:
org.jivesoftware.openfire.reporting.stats.GetStatistics
at java.net.URLClassLoader$1.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Unknown Source)
at java.io.ObjectInputStream.resolveClass(Unknown Source)
at com.tangosol.io.ResolvingObjectInputStream.resolveClass(ResolvingObje
ctInputStream.java:66)
at java.io.ObjectInputStream.readNonProxyDesc(Unknown Source)
at java.io.ObjectInputStream.readClassDesc(Unknown Source)
at java.io.ObjectInputStream.readOrdinaryObject(Unknown Source)
at java.io.ObjectInputStream.readObject0(Unknown Source)
at java.io.ObjectInputStream.defaultReadFields(Unknown Source)
at java.io.ObjectInputStream.readSerialData(Unknown Source)
at java.io.ObjectInputStream.readOrdinaryObject(Unknown Source)
at java.io.ObjectInputStream.readObject0(Unknown Source)
at java.io.ObjectInputStream.readObject(Unknown Source)
at com.tangosol.util.ExternalizableHelper.readSerializable(Externalizabl
eHelper.java:2217)
at com.tangosol.util.ExternalizableHelper.readObjectInternal(Externaliza
bleHelper.java:2348)
at com.tangosol.util.ExternalizableHelper.readObject(ExternalizableHelpe
r.java:2291)
at com.tangosol.io.DefaultSerializer.deserialize(DefaultSerializer.java:
at com.tangosol.coherence.component.util.daemon.queueProcessor.Service.r
eadObject(Service.CDB:1)
at com.tangosol.coherence.component.net.Message.readObject(Message.CDB:1
)
at com.tangosol.coherence.component.util.daemon.queueProcessor.service.g
rid.InvocationService$InvocationRequest.read(InvocationService.CDB:8)
at com.tangosol.coherence.component.util.daemon.queueProcessor.service.G
rid.deserializeMessage(Grid.CDB:19)
at com.tangosol.coherence.component.util.daemon.queueProcessor.service.G
rid.onNotify(Grid.CDB:31)
at com.tangosol.coherence.component.util.Daemon.run(Daemon.CDB:42)
at java.lang.Thread.run(Unknown Source)
ClassLoader: com.jivesoftware.util.cache.ClusterClassLoader@1116880a
java.io.IOException: readObject failed: java.lang.ClassNotFoundException: org.ji
vesoftware.openfire.reporting.stats.GetStatistics
at java.net.URLClassLoader$1.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Unknown Source)
at java.io.ObjectInputStream.resolveClass(Unknown Source)
at com.tangosol.io.ResolvingObjectInputStream.resolveClass(ResolvingObje
ctInputStream.java:66)
at java.io.ObjectInputStream.readNonProxyDesc(Unknown Source)
at java.io.ObjectInputStream.readClassDesc(Unknown Source)
at java.io.ObjectInputStream.readOrdinaryObject(Unknown Source)
at java.io.ObjectInputStream.readObject0(Unknown Source)
at java.io.ObjectInputStream.defaultReadFields(Unknown Source)
at java.io.ObjectInputStream.readSerialData(Unknown Source)
at java.io.ObjectInputStream.readOrdinaryObject(Unknown Source)
at java.io.ObjectInputStream.readObject0(Unknown Source)
at java.io.ObjectInputStream.readObject(Unknown Source)
at com.tangosol.util.ExternalizableHelper.readSerializable(Externalizabl
eHelper.java:2217)
at com.tangosol.util.ExternalizableHelper.readObjectInternal(Externaliza
bleHelper.java:2348)
at com.tangosol.util.ExternalizableHelper.readObject(ExternalizableHelpe
r.java:2291)
at com.tangosol.io.DefaultSerializer.deserialize(DefaultSerializer.java:
at com.tangosol.coherence.component.util.daemon.queueProcessor.Service.r
eadObject(Service.CDB:1)
at com.tangosol.coherence.component.net.Message.readObject(Message.CDB:1
)
at com.tangosol.coherence.component.util.daemon.queueProcessor.service.g
rid.InvocationService$InvocationRequest.read(InvocationService.CDB:8)
at com.tangosol.coherence.component.util.daemon.queueProcessor.service.G
rid.deserializeMessage(Grid.CDB:19)
at com.tangosol.coherence.component.util.daemon.queueProcessor.service.G
rid.onNotify(Grid.CDB:31)
at com.tangosol.coherence.component.util.Daemon.run(Daemon.CDB:42)
at java.lang.Thread.run(Unknown Source)
ClassLoader: com.jivesoftware.util.cache.ClusterClassLoader@1116880a
at com.tangosol.util.ExternalizableHelper.readSerializable(Externalizabl
eHelper.java:2225)
at com.tangosol.util.ExternalizableHelper.readObjectInternal(Externaliza
bleHelper.java:2348)
at com.tangosol.util.ExternalizableHelper.readObject(ExternalizableHelpe
r.java:2291)
at com.tangosol.io.DefaultSerializer.deserialize(DefaultSerializer.java:
at com.tangosol.coherence.component.util.daemon.queueProcessor.Service.r
eadObject(Service.CDB:1)
at com.tangosol.coherence.component.net.Message.readObject(Message.CDB:1
)
at com.tangosol.coherence.component.util.daemon.queueProcessor.service.g
rid.InvocationService$InvocationRequest.read(InvocationService.CDB:8)
at com.tangosol.coherence.component.util.daemon.queueProcessor.service.G
rid.deserializeMessage(Grid.CDB:19)
at com.tangosol.coherence.component.util.daemon.queueProcessor.service.G
rid.onNotify(Grid.CDB:31)
at com.tangosol.coherence.component.util.Daemon.run(Daemon.CDB:42)
at java.lang.Thread.run(Unknown Source)
Starting Monitoring Plugin