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)