Unable To Override An Entry's Expiry Timeout In A Trigger When Using A Local-Cache Which Does Not Define A Default Expiry Timeout (Doc ID 1526260.1)

Last updated on NOVEMBER 03, 2016

Applies to:

Oracle Coherence - Version 3.7.1 to 3.7.1.7 [Release AS10g]
Information in this document applies to any platform.

Symptoms

An application is using Coherence triggers to implement a custom expiry strategy in which the expiry timeout is "sticky".  That is, if an entry is present in the cache with an expiry set on it, then any update to the entry which doesn't specify an expiry time-to-live (TTL) will preserve the existing expiry TTL instead of removing the expiry on the entry.  Any update to the entry that specifies a new expiry will then override the existing timeout even if no expiry had been set before.

The cache is using a <local-scheme/> as the backing map with no default expiry configured, for example:

is called when updating an entry that has no existing expiry timeout.  Instead of the entry expiring at the end of the new timeout it remains in the cache.

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