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

Expiration reaper is not enabled until lifespan or max-idle is set

    XMLWordPrintable

    Details

    • Steps to Reproduce:
      Hide

      Add mixed data with a HotRod client:
      cache.put(K,V)
      cache.put(K,V, lifespan, lifespan-TimeUnit)

      The data with a lifespan will be never removed from the datastore.
      A server restart is needed to free the memory.

      Show
      Add mixed data with a HotRod client: cache.put(K,V) cache.put(K,V, lifespan, lifespan-TimeUnit) The data with a lifespan will be never removed from the datastore. A server restart is needed to free the memory.
    • Workaround Description:
      Hide

      Set a very long max-ide or lifespan value (Long)
      i.e. "525600000000" which is about 100 years

      <expiration lifespan="525600000000" />

      Show
      Set a very long max-ide or lifespan value (Long) i.e. "525600000000" which is about 100 years <expiration lifespan="525600000000" />

      Description

      If a cache is added where entities are with and without expiration by external processes it is expected that the reaper purge the data from memory and datastore.

      As the reaper is only enabled for the cache if the element
      <expiration interval="millis" lifespan="millis" max-idle="millis"/>
      has one of the attributes lifespan or max-idle set to a value >0
      The expired entities will not be removed from the memory or datastore.

      This is an unexpected behaviour and might end in a memory bottleneck if a server is up for a long time.

        Attachments

          Activity

            People

            Assignee:
            mircea.markus Mircea Markus (Inactive)
            Reporter:
            wdfink Wolf-Dieter Fink
            Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

              Dates

              Created:
              Updated:
              Resolved: