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

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

    XMLWordPrintable

Details

    • Bug
    • Resolution: Obsolete
    • 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.

    Description

      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

      Attachments

        Issue Links

          Activity

            People

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

              Dates

                Created:
                Updated:
                Resolved: