With clustering enabled I got java.io.NotSerializableException: org.modeshape.jcr.cache.change.NodeAdded
jpalka Sep 5, 2012 8:21 AMAll,
I have enabled clustering in my config,
{
"name" : "webdav_repo",
"jndiName" : "",
"storage" : {
"cacheName" : "webdav_repo",
"cacheConfiguration" : "infinispan_configuration.xml",
"binaryStorage" : {
"type" : "file",
"directory" : "/home/palkaj01/repo/binary"
}
},
"query" : {
"enabled" : true,
"enableFullTextSearch" : false,
"indexStorage" : {
"type" : "filesystem",
"location" : "/home/palkaj01/repo/index"
},
"indexing" : {
"hibernate.search.default.exclusive_index_use" : false,
"mode" : "async",
"asyncMaxQueueSize" : 10
},
},
"workspaces" : {
"predefined" : ["cars"],
"default" : "default",
"allowCreation" : true
},
"security" : {
"anonymous" : {
"roles" : ["readonly","readwrite","admin", "connect"],
"useOnFailedLogin" : false
},
"providers" : [
{ "classname" : "servlet" }
]
},
"clustering" : {
"clusterName" : "modeshape"
}
}
With one node in the cluster adding new nodes to workspace works (simply because there is no communication of JGroups channel), but when I have 2 nodes in the cluster I got following exception:
Caused by: java.io.NotSerializableException: org.modeshape.jcr.cache.change.NodeAdded
at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1164)
at java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:330)
at java.util.concurrent.ConcurrentLinkedQueue.writeObject(ConcurrentLinkedQueue.java:644)
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.invokeWriteObject(ObjectStreamClass.java:940)
at java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1469)
at java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1400)
at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1158)
at java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java:1518)
at java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1483)
at java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1400)
at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1158)
at java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:330)
at org.jgroups.util.Util.objectToByteBuffer(Util.java:476)
at org.modeshape.jcr.bus.ClusteredRepositoryChangeBus.serialize(ClusteredRepositoryChangeBus.java:296)
at org.modeshape.jcr.bus.ClusteredRepositoryChangeBus.notify(ClusteredRepositoryChangeBus.java:236)
... 5 more
Is clustering not supported at the moment? Or should I configure clustering at Infinispan storage level ?
Regards,
Jarek