[infinispan-issues] [JBoss JIRA] (ISPN-8237) State transfer doesn't replace L1 entry with regular entry

Dan Berindei (JIRA) issues at jboss.org
Mon Aug 28 09:00:00 EDT 2017


Dan Berindei created ISPN-8237:
----------------------------------

             Summary: State transfer doesn't replace L1 entry with regular entry
                 Key: ISPN-8237
                 URL: https://issues.jboss.org/browse/ISPN-8237
             Project: Infinispan
          Issue Type: Bug
          Components: Core
    Affects Versions: 9.1.0.Final
            Reporter: Dan Berindei
            Assignee: Dan Berindei


An L1 entry is preserved when the local node becomes an owner, it is only removed if the application removes the key explicitly. Otherwise state transfer overwrites the L1 entry with the entry received from a previous owner, making it immortal (assuming the original entry didn't have a lifespan/maxIdle).

A transaction writing to a key while the local node is only a write owner will not remove the L1 metadata from the entry either, but it will set the {{PUT_FOR_STATE_TRANSFER}} flag in {{CommitManager}}. Since state transfer doesn't overwrite an entry tracked in {{CommitManager}}, that means the L1 entry is never replaced with an immortal entry.

This started appearing in {{ConcurrentNonOverlappingLeaveTest}} once I changed {{TxDistributionInterceptor}} to cause a retry when the topology changes during commit (for ISPN-8195). There, the entry is first wrapped on the originator before it becomes the primary owner, and the commit happens multiple times, but neither seems to be required.



--
This message was sent by Atlassian JIRA
(v7.2.3#72005)


More information about the infinispan-issues mailing list