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

Invalidation commands should not load the previous value from the store

XMLWordPrintable

      CacheLoaderInterceptor.visitInvalidateCommand() loads the previous value from the store, just in case there is a CacheEntryInvalidated listener that needs the previous value. This makes invalidation mode with a shared store very costly: for every write, every node receives an invalidation command, every node reads the value from the store, and then discards it.

      But InvalidateCommand only removes entries from memory, it never removes entry from stores (either shared or private). If we don't load the previous value in the data container, there is nothing for the InvalidateCommand to do. No invalidated entry means no listener notifications, so we don't need to load the previous value or to change the behaviour of CacheEntryInvalidatedEvent.

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

              Created:
              Updated:
              Resolved: