Details
-
Enhancement
-
Resolution: Unresolved
-
Minor
-
None
-
9.1.1.Final
-
None
Description
Currently the whole package org.apache is marked as internally marshallable which is too broad and causes the following assertion:
Exception in thread "AsyncStoreProcessor--p6-t2" java.lang.AssertionError: Check support for: class org.apache.commons.collections4.keyvalue.MultiKey at org.infinispan.marshall.core.GlobalMarshaller.writeUnknown(GlobalMarshaller.java:596) at org.infinispan.marshall.core.GlobalMarshaller.writeNonNullableObject(GlobalMarshaller.java:412) at org.infinispan.marshall.core.GlobalMarshaller.writeNullableObject(GlobalMarshaller.java:355) at org.infinispan.marshall.core.GlobalMarshaller.writeObjectOutput(GlobalMarshaller.java:188) at org.infinispan.marshall.core.GlobalMarshaller.writeObjectOutput(GlobalMarshaller.java:181) at org.infinispan.marshall.core.GlobalMarshaller.objectToBuffer(GlobalMarshaller.java:305) at org.infinispan.marshall.core.MarshalledEntryImpl.marshall(MarshalledEntryImpl.java:117) at org.infinispan.marshall.core.MarshalledEntryImpl.getKeyBytes(MarshalledEntryImpl.java:89) at org.infinispan.persistence.file.SingleFileStore.write(SingleFileStore.java:314)
Many classes from Apache commons are perfectly OK for serialization:
- org.apache.commons.lang3.tuple.MutablePair
- org.apache.commons.lang3.mutable.MutableInt
- org.apache.commons.collections4.multimap.ArrayListValuedHashMap
- ... and so on
I suggest that the package check in method ExternallyMarshallable#isMarshallablePackage(String pkg) is more exact (narrowed).