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

Invalidation commands should not load the previous value from the store

This issue belongs to an archived project. You can view it, but you can't modify it. Learn more

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)
              Archiver:
              rhn-support-adongare Amol Dongare

                Created:
                Updated:
                Resolved:
                Archived: