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