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

Scattered caches with a single node expire entries immediately

    XMLWordPrintable

Details

    • Bug
    • Resolution: Unresolved
    • Major
    • None
    • 10.1.5.Final, 11.0.0.Dev03
    • Core
    • None

    Description

      ClusterExpirationManager.checkExpiredMaxIdle() sends a TouchCommand to the other owners and expires the entry locally if the touch was unsuccessful.

      ScatteredTouchResponseCollector is stateless, and reports that the entry has not been touched if it doesn't receive any true response. However, this is only correct if at least one backup entry existing on another node, and that is not the always the case: e.g. between the backup node leaving the cluster and another node becoming a backup, or when the cluster has a single node.

      Since ClusterExpirationManager.checkExpiredMaxIdle() is called on every read, before the entry being expired on the local node, it means a transient entry in a scattered cache with a single node will expire on the first read, immediately after being inserted.

      Attachments

        Activity

          People

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

            Dates

              Created:
              Updated: