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

In-store expiration cannot provide metadata to listeners

    XMLWordPrintable

Details

    Description

      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()

      Attachments

        Activity

          People

            wburns@redhat.com Will Burns
            dberinde@redhat.com Dan Berindei
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: