-
Bug
-
Resolution: Done
-
Major
-
None
-
None
The GlobalMarshaller is unable to marshall Server.ShutdownRunnable as it does not have an externalizer defined. This wasn't an issue when jboss-marshalling was used in the Server as the class was marshalled via Serialization, however now that the default user marshaller is Protostream based this is not possible. The solution is to enable the GlobalMarshaller to be able to marshall the class directly. This can be achieved by defining an Externalizer for the class.
_emphasized text_ [0] STDOUT: 19:05:14,244 WARN [org.infinispan.PERSISTENCE] (SINGLE_PORT-ServerIO-7-2) ISPN000559: Cannot marshall 'class org.infinispan.server.Server$ShutdownRunnable': java.lang.IllegalArgumentException: No marshaller registered for Java type org.infinispan.server.Server$ShutdownRunnable [0] STDOUT: at org.infinispan.protostream.impl.SerializationContextImpl.getMarshallerDelegate(SerializationContextImpl.java:279) [0] STDOUT: at org.infinispan.protostream.WrappedMessage.writeMessage(WrappedMessage.java:240) [0] STDOUT: at org.infinispan.protostream.ProtobufUtil.toWrappedStream(ProtobufUtil.java:196) [0] STDOUT: at org.infinispan.marshall.persistence.impl.PersistenceMarshallerImpl.objectToBuffer(PersistenceMarshallerImpl.java:157) [0] STDOUT: at org.infinispan.marshall.persistence.impl.PersistenceMarshallerImpl.objectToByteBuffer(PersistenceMarshallerImpl.java:137) [0] STDOUT: at org.infinispan.marshall.persistence.impl.PersistenceMarshallerImpl.objectToByteBuffer(PersistenceMarshallerImpl.java:145) [0] STDOUT: at org.infinispan.marshall.core.GlobalMarshaller.writeRawUnknown(GlobalMarshaller.java:638) [0] STDOUT: at org.infinispan.marshall.core.GlobalMarshaller.writeUnknown(GlobalMarshaller.java:627) [0] STDOUT: at org.infinispan.marshall.core.GlobalMarshaller.writeUnknown(GlobalMarshaller.java:618) [0] STDOUT: at org.infinispan.marshall.core.GlobalMarshaller.writeNonNullableObject(GlobalMarshaller.java:384) [0] STDOUT: at org.infinispan.marshall.core.GlobalMarshaller.writeNullableObject(GlobalMarshaller.java:352) [0] STDOUT: at org.infinispan.marshall.core.BytesObjectOutput.writeObject(BytesObjectOutput.java:26) [0] STDOUT: at org.infinispan.manager.impl.ReplicableManagerFunctionCommand.writeTo(ReplicableManagerFunctionCommand.java:54) [0] STDOUT: at org.infinispan.marshall.exts.ReplicableCommandExternalizer.writeCommandParameters(ReplicableCommandExternalizer.java:70) [0] STDOUT: at org.infinispan.marshall.exts.ReplicableCommandExternalizer.writeObject(ReplicableCommandExternalizer.java:66) [0] STDOUT: at org.infinispan.marshall.exts.ReplicableCommandExternalizer.writeObject(ReplicableCommandExternalizer.java:54) [0] STDOUT: at org.infinispan.marshall.core.GlobalMarshaller.writeInternal(GlobalMarshaller.java:656) [0] STDOUT: at org.infinispan.marshall.core.GlobalMarshaller.writeNonNullableObject(GlobalMarshaller.java:371) [0] STDOUT: at org.infinispan.marshall.core.GlobalMarshaller.writeNullableObject(GlobalMarshaller.java:352) [0] STDOUT: at org.infinispan.marshall.core.GlobalMarshaller.writeObjectOutput(GlobalMarshaller.java:181) [0] STDOUT: at org.infinispan.marshall.core.GlobalMarshaller.writeObjectOutput(GlobalMarshaller.java:174) [0] STDOUT: at org.infinispan.marshall.core.GlobalMarshaller.objectToBuffer(GlobalMarshaller.java:302)+underlined text+