Hi Anil,

Yes, status is an enum type.
tradeAuditAction is a field in the JSON document.

Regards
Stephen

________________________________
From: Anilkumar Gingade <aging...@pivotal.io>
Sent: Friday, 10 April 2020 8:53 AM
To: user@geode.apache.org <user@geode.apache.org>
Subject: Re: Continuous Query problem

What is the type of "status" and "tradeAuditAction" fields?
Is status enum type?

-Anil



On Thu, Apr 9, 2020 at 1:03 PM Jason Huynh 
<jhu...@pivotal.io<mailto:jhu...@pivotal.io>> wrote:
Hi Stephen,

I am not sure how the cq operation is null.  I tried to reproduce with a test 
(not exactly the same and haven't been able to so far).  The queries themselves 
look like they should work.  When populating the second region, is the client 
cq just doing a put back to the server or is it using some other mechanism to 
update the region? Is there more than 1 client that is updating the region (not 
sure it would matter, just seeing if there is a chance at a possible version 
incompatibility).  It looks like the server is on 1.9.2?

Anyone else with any ideas, please chime in :-)

-Jason





On Wed, Apr 8, 2020 at 11:26 PM Chell, Stephen 
<stephen.ch...@westpac.com.au<mailto:stephen.ch...@westpac.com.au>> wrote:
Hi all,

Has anyone come across the following error before when using continuous queries?

java.lang.Throwable: Exception occurred while applying query on a cache event.
        at 
org.apache.geode.cache.query.cq.internal.CqEventImpl.setException(CqEventImpl.java:131)
 ~[geode-cq-1.9.2.jar!/:na]
        at 
org.apache.geode.cache.query.cq.internal.CqEventImpl.<init>(CqEventImpl.java:53)
 ~[geode-cq-1.9.2.jar!/:na]
        at 
org.apache.geode.cache.query.cq.internal.CqServiceImpl.dispatchCqListeners(CqServiceImpl.java:960)
 ~[geode-cq-1.9.2.jar!/:na]
        at 
org.apache.geode.internal.cache.tier.sockets.CacheClientUpdater.processCqs(CacheClientUpdater.java:1319)
 [geode-core-1.9.2.jar!/:na]
        at 
org.apache.geode.internal.cache.tier.sockets.CacheClientUpdater.handleUpdate(CacheClientUpdater.java:757)
 [geode-core-1.9.2.jar!/:na]
        at 
org.apache.geode.internal.cache.tier.sockets.CacheClientUpdater.processMessages(CacheClientUpdater.java:1660)
 [geode-core-1.9.2.jar!/:na]
        at 
org.apache.geode.internal.cache.tier.sockets.CacheClientUpdater.run(CacheClientUpdater.java:487)
 [geode-core-1.9.2.jar!/:na]

I have two continuous queries in my app.  The first one works, the second one 
doesn't.

The first one is:
SELECT * from /FM_TRADE_EVENTS WHERE tradeAuditAction <> 'MATURE'
It fetches JSON documents that have been serialized as PDX.  The onEvent method 
in my CqListener implementation is successfully called with events that look 
like:
CqEvent [CqName=tradeEventListener; base operation=CREATE; cq operation=CREATE; 
key=TRADE-1006; value=PDX[19350515,__GEMFIRE_JSON]{...}]
(I've replaced the JSON document with ... for brevity.)

The second one selects from a different region:
SELECT * from /FM_TRADE_EVENTS_STATE WHERE subscriberID = 'MIR' AND 
status.name<http://status.name> = 'Pending'
It fetches objects that were serialized from java POJOs of type 
GemfireEventState (a custom type).  The onError method (not onEvent) in my 
CqListener implementation is called with events that look like:
CqEvent [CqName=tradeEventStateListener; base operation=CREATE; cq 
operation=null; key=TRADE-1006:MIR; 
value=com.westpac.rdp.event.gemfire.GemfireEventState@2b503086[eventKey=TRADE-1006,subscriberID=MIR,status=Pending,errorMessage=<null>]]
... and they contain a throwable as above.

It looks like the second query fails because the event has the "cq operation" 
field set to null.  The question is why is it null?  (In the first one both the 
base operation and cq operation are CREATE).

Another piece of info that may be relevant: the region queried by the second 
CqListener is populated by the first CqListener

Any help would be much appreciated!

Thanks in advance ...

Stephen

Confidential communication
Westpac Banking Corporation (ABN 33 007 457 141, AFSL 233714)
Westpac Institutional Bank is a division of Westpac Banking Corporation

Confidential communication
Westpac Banking Corporation (ABN 33 007 457 141, AFSL 233714)
Westpac Institutional Bank is a division of Westpac Banking Corporation

Reply via email to