[ https://issues.apache.org/jira/browse/GEODE-8491?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17196941#comment-17196941 ]
ASF GitHub Bot commented on GEODE-8491: --------------------------------------- albertogpz commented on a change in pull request #5509: URL: https://github.com/apache/geode/pull/5509#discussion_r489395559 ########## File path: geode-core/src/main/java/org/apache/geode/internal/cache/wan/AbstractGatewaySender.java ########## @@ -1118,6 +1115,17 @@ public void distribute(EnumListenerEvent operation, EntryEventImpl event, } } + private void recordDroppedEvent(EntryEventImpl event) { + if (this.eventProcessor != null) { + this.eventProcessor.registerEventDroppedInPrimaryQueue(event); Review comment: @boglesby I have made the change you have proposed for the parallel gateway sender case. You can check it in the new commit. Nevertheless, this change it requires that the BatchRemoval thread is not shutdown when the gateway sender is stopped. Is there any problem with not stopping the BatchRemoval thread when the sender is stopped? Regarding the SerialGatewaySender, I think I found a way of doing it which consists of changing the following call in SerialGatewaySenderEventProcessor.registerEventDroppedInPrimaryQueue(): `` this.processors.get(index).sendBatchDestroyOperationForDroppedEvent(droppedEvent, index); `` to this one: `` this.processors.get(index).sendBatchDestroyOperationForDroppedEvent(droppedEvent, index); `` And adding the following method to SerialGatewaySenderQueue: `` public void addRemovedEvent(EntryEventImpl droppedEvent) { lock.writeLock().lock(); lastDispatchedKey = droppedEvent.getTailKey(); notifyAll(); lock.writeLock().unlock(); } `` The problem is that I did not find any test case to verify that it worked correctly. I ran the tests in SerialWANPropagationsFeatureDUnitTest and it did not matter if I used the original solution, the new solution or even removed the sending of batch destroy operation. I looks as if it were not necessary. That's why I did not dare to add the change. Any idea? ---------------------------------------------------------------- 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. For queries about this service, please contact Infrastructure at: us...@infra.apache.org > Events received when gateway sender is stopped use heap memory > -------------------------------------------------------------- > > Key: GEODE-8491 > URL: https://issues.apache.org/jira/browse/GEODE-8491 > Project: Geode > Issue Type: Bug > Components: wan > Affects Versions: 1.7.0, 1.8.0, 1.9.0, 1.9.1, 1.10.0, 1.9.2, 1.11.0, > 1.12.0, 1.13.0 > Reporter: Alberto Gomez > Assignee: Alberto Gomez > Priority: Major > Labels: pull-request-available > > When a gateway sender is stopped, events received are stored in a member > variable of the sender (tmpDroppedEvents) to be later sent to secondary > gateway senders to remove these dropped events from their queues. > This events use heap memory from the member and could eventually fill up the > available memory. > See RFC > [https://cwiki.apache.org/confluence/display/GEODE/Avoid+the+queuing+of+dropped+events+by+the+primary+gateway+sender+when+the+gateway+sender+is+stopped] > -- This message was sent by Atlassian Jira (v8.3.4#803005)