Uploaded image for project: 'Infinispan'
  1. Infinispan
  2. ISPN-11981

Stale immortal entry metadata

    XMLWordPrintable

Details

    • Bug
    • Resolution: Done
    • Major
    • 12.0.0.Dev01
    • 11.0.0.CR1, 10.1.8.Final
    • Core
    • None

    Description

      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.

      Attachments

        Activity

          People

            dberinde@redhat.com Dan Berindei (Inactive)
            dberinde@redhat.com Dan Berindei (Inactive)
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: