Cache Not Being Cleared When Calling cache.clear() in Coherence 3.5 and 3.6 (Doc ID 1266333.1)
Last updated on NOVEMBER 03, 2016
Oracle Coherence - Version: 3.5.2 to 3.6.0 - Release: AS10g to AS10g Information in this document applies to any platform.
With a with an expiry delay of 1 hour and flush delay of 1 minute, if the cache is populated and then left overnight and then cleared (using cache.clear()), cache.keySet() returns 0 as expected, but the cache.keySet() can still be iterated over and it still contains some keys. When the values for those keys are requested, null is returned. This occurs in both Java and .NET.
If you check Keys.Count, Coherence behaves as expected: returns zero if key expired, and after you query Keys.Count you are unable to see "ghost" entry. But if you enumerate Keys without Count verification, you are able to see "ghost" record. And this "ghost" record is visible only for the first call.
Sign In with your My Oracle Support account
Don't have a My Oracle Support account? Click to get started
My Oracle Support provides customers with access to over a Million Knowledge Articles and hundreds of Community platforms