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

In-store expiration cannot provide metadata to listeners

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)
              Votes:
              0 Vote for this issue
              Watchers:
              1 Start watching this issue

                Created:
                Updated:
                Resolved: