Barry Oglesby created GEODE-2133:
------------------------------------

             Summary: An exception in a receiving site can cause the sender 
site's AckReaderThread to stop
                 Key: GEODE-2133
                 URL: https://issues.apache.org/jira/browse/GEODE-2133
             Project: Geode
          Issue Type: Bug
          Components: wan
            Reporter: Barry Oglesby


This is the same bug as GEM-1100.

If the receiving site throws an exception, the sendeing site's AckReaderThread 
BatchException logging can fail and cause the thread to stop. The 
BatchException logging handles exceptions that occur while processing 
GatewaySenderEvents, but it doesn't handle other kinds of exceptions (like NPEs 
processing PdxType updates).

Here are the relevant sending site log messages:
{noformat}
[warning 2016/11/18 12:00:18.856 PST ln-1 <AckReaderThread for : Event 
Processor for GatewaySender_ny_2> tid=0x71] A BatchException occurred 
processing events. Index of Array of Exception : -1
org.apache.geode.internal.cache.wan.BatchException70: Exception occurred while 
processing a batch on the receiver running on DistributedSystem with Id: 1, 
DistributedMember on which the receiver is running: 
192.168.2.10(ny-1:18934)<v1>:1027
        at 
org.apache.geode.internal.cache.tier.sockets.command.GatewayReceiverCommand.cmdExecute(GatewayReceiverCommand.java:714)
        at 
org.apache.geode.internal.cache.tier.sockets.BaseCommand.execute(BaseCommand.java:141)
        at 
org.apache.geode.internal.cache.tier.sockets.ServerConnection.doNormalMsg(ServerConnection.java:776)
        at 
org.apache.geode.internal.cache.tier.sockets.ServerConnection.doOneMessage(ServerConnection.java:904)
        at 
org.apache.geode.internal.cache.tier.sockets.ServerConnection.run(ServerConnection.java:1160)
        at 
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
        at 
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
        at 
org.apache.geode.internal.cache.tier.sockets.AcceptorImpl$1$1.run(AcceptorImpl.java:519)
        at java.lang.Thread.run(Thread.java:745)
Caused by: java.lang.NullPointerException
        at 
org.apache.geode.pdx.internal.PeerTypeRegistration$2.beforeUpdate(PeerTypeRegistration.java:173)
        at 
org.apache.geode.internal.cache.SearchLoadAndWriteProcessor.doLocalWrite(SearchLoadAndWriteProcessor.java:845)
        at 
org.apache.geode.internal.cache.SearchLoadAndWriteProcessor.doNetWrite(SearchLoadAndWriteProcessor.java:182)
        at 
org.apache.geode.internal.cache.DistributedRegion.cacheWriteBeforePut(DistributedRegion.java:2687)
        at 
org.apache.geode.internal.cache.AbstractRegionMap.invokeCacheWriter(AbstractRegionMap.java:3008)
        at 
org.apache.geode.internal.cache.AbstractRegionMap.basicPut(AbstractRegionMap.java:2769)
        at 
org.apache.geode.internal.cache.LocalRegion.virtualPut(LocalRegion.java:5750)
        at 
org.apache.geode.internal.cache.DistributedRegion.virtualPut(DistributedRegion.java:337)
        at 
org.apache.geode.internal.cache.LocalRegionDataView.putEntry(LocalRegionDataView.java:151)
        at 
org.apache.geode.internal.cache.LocalRegion.basicUpdate(LocalRegion.java:5730)
        at 
org.apache.geode.internal.cache.LocalRegion.basicBridgePut(LocalRegion.java:5374)
        at 
org.apache.geode.internal.cache.tier.sockets.command.GatewayReceiverCommand.cmdExecute(GatewayReceiverCommand.java:468)
        ... 8 more

[severe 2016/11/18 12:00:18.856 PST ln-1 <AckReaderThread for : Event Processor 
for GatewaySender_ny_2> tid=0x71] Stopping the processor because the following 
exception occurred while processing a batch:
java.lang.ArrayIndexOutOfBoundsException: -1
        at java.util.ArrayList.elementData(ArrayList.java:418)
        at java.util.ArrayList.get(ArrayList.java:431)
        at 
org.apache.geode.internal.cache.wan.GatewaySenderEventRemoteDispatcher$AckReaderThread.logBatchExceptions(GatewaySenderEventRemoteDispatcher.java:721)
        at 
org.apache.geode.internal.cache.wan.GatewaySenderEventRemoteDispatcher$AckReaderThread.run(GatewaySenderEventRemoteDispatcher.java:623)
{noformat}



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to