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]> 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]>
> wrote:
>
>> +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
>>
>
>

Reply via email to