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

JCache Processor does not update for a store-as-binary cache

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Obsolete
    • Icon: Major Major
    • None
    • 7.2.2.Final
    • JCache
    • None
    • Hide

      In infinispan.xml configure a cache as store-as-binary then retrieve the cache through JCache interface and use a processor to modify the cache value.

      Show
      In infinispan.xml configure a cache as store-as-binary then retrieve the cache through JCache interface and use a processor to modify the cache value.

      If a cache that is configured with store-as-binary is used in jcache and a processor is invoked, the value will never be changed.

      The problem seems to be that the in
      JCache.invoke()

      V oldValue = skipCacheLoadCache.get(key);

      is retrieved

      and this is a different instance than retrieved in

      AbstractJCache.replace()

      with V current = existsCheckCache.get(key);

      so when

      if (isConditional && !current.equals(oldValue))

      is called (and the value doesn't implement equal) they are never equal even though the value never changed.

      This is also related to ISPN-5504

            Unassigned Unassigned
            tarioch Patrick Ruckstuhl (Inactive)
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

              Created:
              Updated:
              Resolved: