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

Applies to:

Oracle Coherence - Version: 3.5.2 to 3.6.0 - Release: AS10g to AS10g
Information in this document applies to any platform.

Symptoms

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.

Cause

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