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

In-store expiration cannot provide metadata to listeners

This issue belongs to an archived project. You can view it, but you can't modify it. Learn more

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Done
    • Icon: Major Major
    • 13.0.0.Final
    • 13.0.0.Final
    • Core, Expiration
    • None

      CallInterceptor.visitRemoveExpiredCommand() assumes that entries expired in the store do not have a lifespan set:

      // If the provided lifespan is null, that means it is a store removal command, so we can't compare lifespan

      The comment is not completely correct: even on the node where purgeExpired did not remove the entry yet, RemoveExpiredCommand has flag SKIP_CACHE_LOAD set, so it can only find the entry in the data container. If the entry does not exist in the data container, the RemoveExpiredCommand fails, and the expiration listener is not invoked.

      Thus changing a store to provide metadata, will cause failures the test ExpirationSingleFileStoreDistListenerFunctionalTest.testExpirationOfStoreWhenDataNotInMemory()

              wburns@redhat.com Will Burns
              dberinde@redhat.com Dan Berindei (Inactive)
              Archiver:
              rhn-support-adongare Amol Dongare

                Created:
                Updated:
                Resolved:
                Archived: