[infinispan-issues] [JBoss JIRA] (ISPN-11981) Stale immortal entry metadata

Dan Berindei (Jira) issues at jboss.org
Tue Jun 9 03:50:52 EDT 2020


Dan Berindei created ISPN-11981:
-----------------------------------

             Summary: Stale immortal entry metadata
                 Key: ISPN-11981
                 URL: https://issues.redhat.com/browse/ISPN-11981
             Project: Infinispan
          Issue Type: Bug
          Components: Core
    Affects Versions: 10.1.8.Final, 11.0.0.CR1
            Reporter: Dan Berindei
            Assignee: Dan Berindei
             Fix For: 11.0.0.Final


When an entry is updated, {{InternalEntryFactoryImpl}} tries to reuse the existing {{InternalCacheEntry}} instance instead of creating a new one. The condition is that both the new and the old entry have the same implementation implementation: immortal, immortal w/ external metadata, transient, transient w/ metadata etc.

Because {{MetadataImmortalCacheEntry}} extends {{ImmortalCacheEntry}}, that logic is broken: when an immortal entry with external metadata is replaced with a new entry without external metadata, the external metadata is not removed.

This impacts the anchored keys module, which I am changing to store the key location in the metadata (currently it is stored as a value, and it is broken with BINARY/OFF_HEAP storage). When a node leaves and an entry located on the leaver is updated, the key is written on the newest joiner. The joiner already has a local entry with {{RemoteMetadata}}, and is trying to write a value without any metadata.



--
This message was sent by Atlassian Jira
(v7.13.8#713008)



More information about the infinispan-issues mailing list