Details

    • Affects:
      Release Notes
    • Release Notes Text:
      Hide
      JBoss Cache unmarshalled return values that were going to be discarded during replication. When the cache contained objects in an isolated classloader, it was unable to unmarshall the objects and an exception was thrown, preventing the replication from succeeding. The return values are now no longer unmarshalled since they will be discarded. The exception is therefore not thrown and the replication finishes successfully.
      Show
      JBoss Cache unmarshalled return values that were going to be discarded during replication. When the cache contained objects in an isolated classloader, it was unable to unmarshall the objects and an exception was thrown, preventing the replication from succeeding. The return values are now no longer unmarshalled since they will be discarded. The exception is therefore not thrown and the replication finishes successfully.
    • Release Notes Docs Status:
      Documented as Resolved Issue
    • Docs QE Status:
      NEW

      Description

      Replicating a cache put tries to deserialize the original value on the remote nodes.
      If the classloader of the JGroups call is not the correct classloader for the value, a ClassCastException occurs and aborts the put.
      Since the value is never returned, it should not be deserialized.

      ERROR [org.jboss.cache.interceptors.TxInterceptor] prepare failed!
      org.jboss.cache.CacheException: Unable to unmarshall value
      at org.jboss.cache.marshall.MarshalledValue.deserialize(MarshalledValue.java:117)
      at org.jboss.cache.marshall.MarshalledValue.get(MarshalledValue.java:177)
      at org.jboss.cache.interceptors.MarshalledValueInterceptor.processRetVal(MarshalledValueInterceptor.java:181)
      at org.jboss.cache.interceptors.MarshalledValueInterceptor.compactAndProcessRetVal(MarshalledValueInterceptor.java:172)
      at org.jboss.cache.interceptors.MarshalledValueInterceptor.visitPutKeyValueCommand(MarshalledValueInterceptor.java:109)
      at org.jboss.cache.commands.write.PutKeyValueCommand.acceptVisitor(PutKeyValueCommand.java:100)
      at org.jboss.cache.interceptors.base.CommandInterceptor.invokeNextInterceptor(CommandInterceptor.java:116)
      at org.jboss.cache.interceptors.TxInterceptor.replayModifications(TxInterceptor.java:501)
      at org.jboss.cache.interceptors.TxInterceptor.handleRemotePrepare(TxInterceptor.java:388)
      at org.jboss.cache.interceptors.TxInterceptor.visitPrepareCommand(TxInterceptor.java:134)
      ...
      [JGroups RPC call]
      Caused by: java.lang.ClassNotFoundException: com.example.MyClass
      ...
      at java.lang.Class.forName(Class.java:247)
      at org.jboss.util.stream.MarshalledValueInputStream.resolveClass(MarshalledValueInputStream.java:81)
      ...

        Gliffy Diagrams

          Attachments

            Issue Links

              Activity

                People

                • Assignee:
                  dereed Dennis Reed
                  Reporter:
                  dereed Dennis Reed
                  Writer:
                  Petr Penicka
                • Votes:
                  0 Vote for this issue
                  Watchers:
                  3 Start watching this issue

                  Dates

                  • Created:
                    Updated:
                    Resolved: