+Adding the dev group Thanks, Gal
From: Gal Palmery Sent: Sunday, May 29, 2016 15:30 To: [email protected] Subject: Async queue mechanism Hi, We are using the Async queue mechanism when inserting objects into the regions, which is defined as follows: <async-event-queue id="myQueue" persistent="false" parallel="true" batch-size="10" disk-store-name="queue-overflow" maximum-queue-memory="256"> <gateway-event-filter> <class-name>imdg.listeners.myClassFilter</class-name> </gateway-event-filter> < > <class-name>imdg.listeners.myClassSubstitutionFilter</class-name> </gateway-event-substitution-filter> <async-event-listener> <class-name>imdg.listeners.myClassListener</class-name> </async-event-listener> </async-event-queue> In gemfire version 8.2,these were the steps for inserting the object to the queue : * SubstitutionFilter : we are taking the required objects from the event object and return them as the result to the filter. * Filter: beforeEnqueue method is invoked and it's decided if the object will be passed to the listener. (In our filter classes - if the object is null we are not sending it to the listener) * Listener: gets the de-serialized value, processes it puts it in the relevant regions. Seems like in geode we are not passing through beforeEnqueue method in the Fillter step, and the null objects are not been filtered. This means that when there is no object to pass through the queue, still null will be passed, and in the listener code, when asking for the de-serialized value, we are getting also the null object, which results in a Null Pointer Exception. Was anything changed recently in the Async queue mechanism? Thanks, Gal This message and the information contained herein is proprietary and confidential and subject to the Amdocs policy statement, you may review at http://www.amdocs.com/email_disclaimer.asp
