[ 
https://issues.apache.org/jira/browse/GEODE-8491?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17195547#comment-17195547
 ] 

ASF GitHub Bot commented on GEODE-8491:
---------------------------------------

gesterzhou commented on a change in pull request #5509:
URL: https://github.com/apache/geode/pull/5509#discussion_r488039326



##########
File path: 
geode-core/src/main/java/org/apache/geode/internal/cache/wan/AbstractGatewaySender.java
##########
@@ -1118,6 +1115,24 @@ public void distribute(EnumListenerEvent operation, 
EntryEventImpl event,
     }
   }
 
+  private void recordDroppedEvent(EntryEventImpl event) {
+    final boolean isDebugEnabled = logger.isDebugEnabled();
+    if (this.eventProcessor != null) {
+      this.eventProcessor.registerEventDroppedInPrimaryQueue(event);
+    } else {
+      // Add empty event so that in case the event stays for long in
+      // tmpDroppedEvents it takes as little space as possible.
+      // No need to have all the contents of the event for a dropped one.
+      EntryEventImpl emptyEvent = new EntryEventImpl(event.getKey(), false);

Review comment:
       Again, don't clone a new event. In the new code change, the "else" will 
only be executed in very very small time windows. 
   
   You have proved that when the sender is shutdown, the eventProcessor will be 
kept. So enqueue will not go to the "else". We will never worry about the 
tmpDroppedEvents become too big. 




----------------------------------------------------------------
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)

Reply via email to