Uploaded image for project: 'ModeShape'
  1. ModeShape
  2. MODE-1618

With clustering enabled I got java.io.NotSerializableException: org.modeshape.jcr.cache.change.NodeAdded

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Done
    • Icon: Critical Critical
    • 3.0.0.Beta4
    • 3.0.0.Beta3
    • Clustering
    • None

      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
      

              hchiorean Horia Chiorean (Inactive)
              jpalka75 Jarosław Pałka (Inactive)
              Votes:
              0 Vote for this issue
              Watchers:
              3 Start watching this issue

                Created:
                Updated:
                Resolved: