boglesby commented on pull request #7422:
URL: https://github.com/apache/geode/pull/7422#issuecomment-1072686192


   With these changes, stopping a sender causes all in-progress events to be 
set possibleDuplicate.
   
   In this case, the events in batch 6 are set to possibleDuplicate:
   ```
   ConcurrentParallelGatewaySenderEventProcessor Stopper Thread4: 
AbstractGatewaySenderEventProcessor.closeProcessor invoked
   ConcurrentParallelGatewaySenderEventProcessor Stopper Thread4: 
AbstractGatewaySenderEventProcessor.closeProcessor about to 
pendingEventsInBatchesMarkAsPossibleDuplicate
   ConcurrentParallelGatewaySenderEventProcessor Stopper Thread4: 
AbstractGatewaySenderEventProcessor.pendingEventsInBatchesMarkAsPossibleDuplicate
 batchIdToEventsMapSize=1; batchIdToEventsMapKeys=[6]
   ConcurrentParallelGatewaySenderEventProcessor Stopper Thread4: 
AbstractGatewaySenderEventProcessor.pendingEventsInBatchesMarkAsPossibleDuplicate
 about to setPossibleDuplicate batchId=6; eventsSize=73
   ConcurrentParallelGatewaySenderEventProcessor Stopper Thread4: 
GatewaySenderEventImpl.setPossibleDuplicate queueKey=3968; 
possibleDuplicate=true; this.possibleDuplicate=false
   ConcurrentParallelGatewaySenderEventProcessor Stopper Thread4: 
GatewaySenderEventImpl.setPossibleDuplicate queueKey=3845; 
possibleDuplicate=true; this.possibleDuplicate=false
   ConcurrentParallelGatewaySenderEventProcessor Stopper Thread4: 
GatewaySenderEventImpl.setPossibleDuplicate queueKey=4209; 
possibleDuplicate=true; this.possibleDuplicate=false
   ...
   ConcurrentParallelGatewaySenderEventProcessor Stopper Thread4: 
GatewaySenderEventImpl.setPossibleDuplicate queueKey=9319; 
possibleDuplicate=true; this.possibleDuplicate=false
   ConcurrentParallelGatewaySenderEventProcessor Stopper Thread4: 
GatewaySenderEventImpl.setPossibleDuplicate queueKey=9590; 
possibleDuplicate=true; this.possibleDuplicate=false
   ConcurrentParallelGatewaySenderEventProcessor Stopper Thread4: 
GatewaySenderEventImpl.setPossibleDuplicate queueKey=4636; 
possibleDuplicate=true; this.possibleDuplicate=false
   ConcurrentParallelGatewaySenderEventProcessor Stopper Thread4: 
AbstractGatewaySenderEventProcessor.pendingEventsInBatchesMarkAsPossibleDuplicate
 done setPossibleDuplicate batchId=6; eventsSize=73
   ConcurrentParallelGatewaySenderEventProcessor Stopper Thread4: 
AbstractGatewaySenderEventProcessor.pendingEventsInBatchesMarkAsPossibleDuplicate
 done batchIdToEventsMapSize=1; batchIdToEventsMapKeys=[6]
   ConcurrentParallelGatewaySenderEventProcessor Stopper Thread4: 
AbstractGatewaySenderEventProcessor.closeProcessor completed
   ```
   In the current product, stopping a sender does not cause all in-progress 
events to be set possibleDuplicate.
   
   In this case, the events in batches 7 (not acked) and 6 (failed to send) are 
not set to possibleDuplicate:
   ```
   Event Processor for GatewaySender_ny_3: 
AbstractGatewaySenderEventProcessor.processQueue about to dispatch batchId=7
   Event Processor for GatewaySender_ny_3: 
AbstractGatewaySenderEventProcessor.processQueue done dispatch batchId=7; 
success=true
   AckReaderThread for : Event Processor for GatewaySender_ny_3: 
AckReaderThread.run null ack
   AckReaderThread for : Event Processor for GatewaySender_ny_3: 
AbstractGatewaySenderEventProcessor.handleException resetLastPeekedEvents=true
   
   Event Processor for GatewaySender_ny_3: 
AbstractGatewaySenderEventProcessor.processQueue about to dispatch batchId=8
   Event Processor for GatewaySender_ny_3: 
AbstractGatewaySenderEventProcessor.processQueue done dispatch batchId=8; 
success=false
   
   ConcurrentParallelGatewaySenderEventProcessor Stopper Thread4: 
AbstractGatewaySenderEventProcessor.closeProcessor invoked
   ConcurrentParallelGatewaySenderEventProcessor Stopper Thread4: 
AbstractGatewaySenderEventProcessor.closeProcessor batchIdToEventsMapSize=2; 
batchIdToEventsMapKeys=[7, 8]
   ConcurrentParallelGatewaySenderEventProcessor Stopper Thread4: 
AbstractGatewaySenderEventProcessor.closeProcessor batchId=7; eventsSize=76
   ConcurrentParallelGatewaySenderEventProcessor Stopper Thread4: 
AbstractGatewaySenderEventProcessor.closeProcessor batchId=8; eventsSize=3
   ConcurrentParallelGatewaySenderEventProcessor Stopper Thread4: 
AbstractGatewaySenderEventProcessor.closeProcessor completed
   ```


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]


Reply via email to