Great thanks Barry. Dor From: Barry Oglesby [mailto:[email protected]] Sent: יום ד 01 יוני 2016 19:43 To: [email protected] Cc: [email protected] Subject: Re: Async queue mechanism
Sure. I created https://issues.apache.org/jira/browse/GEODE-1471 last night and just added Gal's details this morning. Thanks, Barry Oglesby On Wed, Jun 1, 2016 at 3:44 AM, Dor Ben Dov <[email protected]<mailto:[email protected]>> wrote: Barry, Can you open a jira issue to file this problem, maybe with Gal's details mentioned below ? Dor -----Original Message----- From: Gal Palmery Sent: יום ד 01 יוני 2016 09:17 To: [email protected]<mailto:[email protected]> Cc: geode ([email protected]<mailto:[email protected]>) Subject: RE: Async queue mechanism Thanks a lot Barry! Can you pls share the quick explanation about the fix? From: Barry Oglesby [mailto:[email protected]<mailto:[email protected]>] Sent: Wednesday, June 01, 2016 03:44 To: [email protected]<mailto:[email protected]> Cc: geode ([email protected]<mailto:[email protected]>) Subject: Re: Async queue mechanism I see the issue. It looks like a merge issue. I have a fix that I'll check in in the next day or so. Thanks, Barry Oglesby On Tue, May 31, 2016 at 12:52 PM, Barry Oglesby <[email protected]<mailto:[email protected]><mailto:[email protected]<mailto:[email protected]>>> wrote: I see this same behavior. I'll look into it a bit more and let you know what I find. Thanks, Barry Oglesby On Sun, May 29, 2016 at 5:38 AM, Gal Palmery <[email protected]<mailto:[email protected]><mailto:[email protected]<mailto:[email protected]>>> wrote: +Adding the dev group Thanks, Gal From: Gal Palmery Sent: Sunday, May 29, 2016 15:30 To: [email protected]<mailto:[email protected]><mailto:[email protected]<mailto:[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
