cache.replace(key, oldValue, newValue) compares the current value in the cache to oldValue, and if they differ it turns into a no-op. However, CacheLoaderInterceptor does not load entries for a ReplaceCommand. If the entry only exists in the loader and not in memory, this causes the replace to fail. CacheLoaderInterceptor must always load the value for a ReplaceCommand.
Pedro Ruivo <pruivo> updated the status of jira ISPN-4559 to Coding In Progress
Verified that all of the tests added with this fix pass with JDG 6.3.1 ER1