My Oracle Support Banner

Events Returned Sporadically In Wrong Order To The COH CQ (Continuous Query) Client (Doc ID 2857623.1)

Last updated on APRIL 16, 2024

Applies to:

Oracle Coherence - Version 12.2.1.3.0 and later
Information in this document applies to any platform.

Symptoms

On : 12.2.1.3.x version: Events returned sporadically in wrong order to the CQ client.

In some (rare) cases, the CQ client is receiving events in a wrong order. The scenario is as follows:

CQ Client with a listener to log the events <--> Cache with a listener to log events. We have verified in some cases events logged in the server side as A, B are  logged in the client side as B, A, causing an inconsistent effect.

When you update entries in the underlying cache for a CQC created with a Filter, if the entry changes in such a way that it no longer matches the Filter, the event fired by the CQC is a DELETE, but the event fired by the underlying cache will be an UPDATE. When you change a value in the underlying cache so that an entry now matches the CQC Filter, the CQC will fire an INSERT event, but the cache will fire an UPDATE event.

So, if you insert do the following:
1. Insert entry into cache
CacheEvent = INSERT
CQCEvent = INSERT

2. Update the entry - it still matches the Filter
CacheEvent = UPDATE
CQCEvent = UPDATE

3. Update the entry - it no longer matches the Filter
CacheEvent = UPDATE
CQCEvent = DELETE

4. Update the entry - it now matches the Filter again
CacheEvent = UPDATE
CQCEvent = INSERT

 

Cause

To view full details, sign in with your My Oracle Support account.

Don't have a My Oracle Support account? Click to get started!


In this Document
Symptoms
Cause
Solution
References


My Oracle Support provides customers with access to over a million knowledge articles and a vibrant support community of peers and Oracle experts.