]
Dan Berindei updated ISPN-6806:
-------------------------------
Status: Pull Request Sent (was: Coding In Progress)
Git Pull Request:
Exception serializing L1InternalCacheEntry during state transfer
----------------------------------------------------------------
Key: ISPN-6806
URL:
https://issues.jboss.org/browse/ISPN-6806
Project: Infinispan
Issue Type: Bug
Components: Core
Affects Versions: 7.2.5.Final, 9.0.0.Alpha2, 8.2.2.Final
Reporter: Dan Berindei
Assignee: Dan Berindei
Fix For: 8.1.5.Final, 9.0.0.Final, 8.2.5.Final
{{L1InternalCacheEntry}} is not serializable, as only entries properly owned by the node
are supposed to be sent via state transfer.
However, when the last owner of a segment leaves the cluster, one of the other nodes
becomes the owner of that segment, and the L1 entries it already has suddenly become part
of the state it can send to other nodes. It then fails to send its state with this
exception:
{noformat}
[org.infinispan.marshall.core.VersionAwareMarshaller] (transport-thread--p19-t14) Object
is not serializable: java.io.NotSerializableException:
org.infinispan.container.entries.L1InternalCacheEntry
{noformat}
This can happen quite often if L1 is enabled and {{numOwners = 1}}.
Unfortunately, the serialization exception isn't propagated, and all the user sees is
an initial state transfer timeout exception when trying to start another node later.