[
https://issues.jboss.org/browse/ISPN-10886?page=com.atlassian.jira.plugin...
]
Gustavo Fernandes updated ISPN-10886:
-------------------------------------
Description:
When storing objects unmarshalled (application/x-java-object) or using custom objects in
the server (filters, converters, partition handlers, etc) that implements Serializable,
the following exception is thrown:
{noformat}
2019-11-05 10:54:11,389 WARN [org.infinispan.PERSISTENCE] (SINGLE_PORT-ServerIO-5-3)
ISPN000559: Cannot marshall 'class org.infinispan.spark.domain.Runner':
java.lang.IllegalArgumentException: No marshaller registered for Java type
org.infinispan.spark.domain.Runner
at
org.infinispan.protostream.impl.SerializationContextImpl.getMarshallerDelegate(SerializationContextImpl.java:279)
at org.infinispan.protostream.WrappedMessage.writeMessage(WrappedMessage.java:240)
at org.infinispan.protostream.ProtobufUtil.toWrappedStream(ProtobufUtil.java:196)
at
org.infinispan.marshall.persistence.impl.PersistenceMarshallerImpl.objectToBuffer(PersistenceMarshallerImpl.java:157)
at
org.infinispan.marshall.persistence.impl.PersistenceMarshallerImpl.objectToByteBuffer(PersistenceMarshallerImpl.java:137)
at
org.infinispan.marshall.persistence.impl.PersistenceMarshallerImpl.objectToByteBuffer(PersistenceMarshallerImpl.java:145)
at
org.infinispan.marshall.core.GlobalMarshaller.writeRawUnknown(GlobalMarshaller.java:638)
at org.infinispan.marshall.core.GlobalMarshaller.writeUnknown(GlobalMarshaller.java:627)
at org.infinispan.marshall.core.GlobalMarshaller.writeUnknown(GlobalMarshaller.java:618)
at
org.infinispan.marshall.core.GlobalMarshaller.writeNonNullableObject(GlobalMarshaller.java:384)
at
org.infinispan.marshall.core.GlobalMarshaller.writeNullableObject(GlobalMarshaller.java:352)
at org.infinispan.marshall.core.BytesObjectOutput.writeObject(BytesObjectOutput.java:26)
at org.infinispan.commands.write.PutKeyValueCommand.writeTo(PutKeyValueCommand.java:81)
at
org.infinispan.marshall.exts.ReplicableCommandExternalizer.writeCommandParameters(ReplicableCommandExternalizer.java:70)
at
org.infinispan.marshall.exts.ReplicableCommandExternalizer.writeObject(ReplicableCommandExternalizer.java:66)
at
org.infinispan.marshall.exts.ReplicableCommandExternalizer.writeObject(ReplicableCommandExternalizer.java:54)
at
org.infinispan.marshall.core.GlobalMarshaller.writeInternal(GlobalMarshaller.java:656)
at
org.infinispan.marshall.core.GlobalMarshaller.writeNonNullableObject(GlobalMarshaller.java:371)
at
org.infinispan.marshall.core.GlobalMarshaller.writeNullableObject(GlobalMarshaller.java:352)
at org.infinispan.marshall.core.BytesObjectOutput.writeObject(BytesObjectOutput.java:26)
at org.infinispan.commands.remote.SingleRpcCommand.writeTo(SingleRpcCommand.java:52)
at
org.infinispan.marshall.exts.ReplicableCommandExternalizer.writeCommandParameters(ReplicableCommandExternalizer.java:70)
at
org.infinispan.marshall.exts.CacheRpcCommandExternalizer.marshallParameters(CacheRpcCommandExternalizer.java:120)
{noformat}
This changed between 10.0.0.CR3 and 10.0.1.Final: although JBoss Marshaller is in the
classpath and the Hot Rod client users Jboss marshaller, it tries to use protostream to
replicate commands involving those objects
The workaround it to annotate all of them with @SerializeWith and write Externalizers
was:
This changed between 10.0.0.CR3 and 10.0.1.Final: filters/converters/entities deployed on
the server that implements Serializable don't work any more: although JBoss Marshaller
is in the classpath and the Hot Rod client users Jboss marshaller, it tries to use
protostream to replicate commands involving those objects
The workaround it to annotate all of them with @SerializeWith and write Externalizers
Server side objects implementing Serializable causes serialization
errors
-------------------------------------------------------------------------
Key: ISPN-10886
URL:
https://issues.jboss.org/browse/ISPN-10886
Project: Infinispan
Issue Type: Bug
Components: Server
Affects Versions: 10.0.0.Final, 10.0.1.Final
Reporter: Gustavo Fernandes
Priority: Major
When storing objects unmarshalled (application/x-java-object) or using custom objects in
the server (filters, converters, partition handlers, etc) that implements Serializable,
the following exception is thrown:
{noformat}
2019-11-05 10:54:11,389 WARN [org.infinispan.PERSISTENCE] (SINGLE_PORT-ServerIO-5-3)
ISPN000559: Cannot marshall 'class org.infinispan.spark.domain.Runner':
java.lang.IllegalArgumentException: No marshaller registered for Java type
org.infinispan.spark.domain.Runner
at
org.infinispan.protostream.impl.SerializationContextImpl.getMarshallerDelegate(SerializationContextImpl.java:279)
at org.infinispan.protostream.WrappedMessage.writeMessage(WrappedMessage.java:240)
at org.infinispan.protostream.ProtobufUtil.toWrappedStream(ProtobufUtil.java:196)
at
org.infinispan.marshall.persistence.impl.PersistenceMarshallerImpl.objectToBuffer(PersistenceMarshallerImpl.java:157)
at
org.infinispan.marshall.persistence.impl.PersistenceMarshallerImpl.objectToByteBuffer(PersistenceMarshallerImpl.java:137)
at
org.infinispan.marshall.persistence.impl.PersistenceMarshallerImpl.objectToByteBuffer(PersistenceMarshallerImpl.java:145)
at
org.infinispan.marshall.core.GlobalMarshaller.writeRawUnknown(GlobalMarshaller.java:638)
at
org.infinispan.marshall.core.GlobalMarshaller.writeUnknown(GlobalMarshaller.java:627)
at
org.infinispan.marshall.core.GlobalMarshaller.writeUnknown(GlobalMarshaller.java:618)
at
org.infinispan.marshall.core.GlobalMarshaller.writeNonNullableObject(GlobalMarshaller.java:384)
at
org.infinispan.marshall.core.GlobalMarshaller.writeNullableObject(GlobalMarshaller.java:352)
at
org.infinispan.marshall.core.BytesObjectOutput.writeObject(BytesObjectOutput.java:26)
at org.infinispan.commands.write.PutKeyValueCommand.writeTo(PutKeyValueCommand.java:81)
at
org.infinispan.marshall.exts.ReplicableCommandExternalizer.writeCommandParameters(ReplicableCommandExternalizer.java:70)
at
org.infinispan.marshall.exts.ReplicableCommandExternalizer.writeObject(ReplicableCommandExternalizer.java:66)
at
org.infinispan.marshall.exts.ReplicableCommandExternalizer.writeObject(ReplicableCommandExternalizer.java:54)
at
org.infinispan.marshall.core.GlobalMarshaller.writeInternal(GlobalMarshaller.java:656)
at
org.infinispan.marshall.core.GlobalMarshaller.writeNonNullableObject(GlobalMarshaller.java:371)
at
org.infinispan.marshall.core.GlobalMarshaller.writeNullableObject(GlobalMarshaller.java:352)
at
org.infinispan.marshall.core.BytesObjectOutput.writeObject(BytesObjectOutput.java:26)
at org.infinispan.commands.remote.SingleRpcCommand.writeTo(SingleRpcCommand.java:52)
at
org.infinispan.marshall.exts.ReplicableCommandExternalizer.writeCommandParameters(ReplicableCommandExternalizer.java:70)
at
org.infinispan.marshall.exts.CacheRpcCommandExternalizer.marshallParameters(CacheRpcCommandExternalizer.java:120)
{noformat}
This changed between 10.0.0.CR3 and 10.0.1.Final: although JBoss Marshaller is in the
classpath and the Hot Rod client users Jboss marshaller, it tries to use protostream to
replicate commands involving those objects
The workaround it to annotate all of them with @SerializeWith and write Externalizers
--
This message was sent by Atlassian Jira
(v7.13.8#713008)