[ https://issues.apache.org/jira/browse/GEODE-8455?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17185822#comment-17185822 ]
ASF GitHub Bot commented on GEODE-8455: --------------------------------------- albertogpz commented on pull request #5476: URL: https://github.com/apache/geode/pull/5476#issuecomment-681917316 > A few small changes to clean up the code a bit. I also notice that there are several DUnit test failures associated with this change (more than we would expect just due to the known flakiness of some WAN DUnit tests) so I would prefer not to merge this change until they have been diagnosed and remedied. > > Also, while it's not strictly within the scope of this PR, I notice that in `WANTestBase.createSender()` line 1747, the call to `gateway.create(dsName, remoteDsId);` comes before the call to `gateway.setBatchTimeInterval(batchTimeInterval);` which means the second call has no effect on the batch time interval. If fixing this has no effect on existing tests, then it would be okay to include it as part of this PR, I think. If fixing it causes tests to start failing, a separate JIRA ticket should be created to address the changes. @DonalEvans Thanks a lot for your comments. You have an incredible eye to find every error and identify items to improve. - I have added a fix for the distributed tests that were failing. - I have incorporated all the fixes you have suggested in your comments. - I have also tackled the issue you mentioned regarding `WANTestBase.createSender()` when specifying a `batchTimeInterval`. The way to address it has been to remove the parameter from the method as it had no effect anyway. I think it was me the one who introduced it in the first place when I implemented the "GEODE-7971" and was trying to fix some flaky tests. But obviously, that parameter did not have anything to do to the fix of the test cases. ---------------------------------------------------------------- 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 > Different behavior in transactions on partitioned regions between creating > the region with a parallel gateway sender vs altering the region to add the > parallel gateway sender > ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ > > Key: GEODE-8455 > URL: https://issues.apache.org/jira/browse/GEODE-8455 > Project: Geode > Issue Type: Bug > Components: core > Reporter: Alberto Gomez > Assignee: Alberto Gomez > Priority: Major > Labels: pull-request-available > > When creating a partitioned region and then altering it by adding a parallel > gateway sender, I have observed that, when sending transactions to the > partitioned region, an event (GatewaySenderEvent) for each transaction is > sent to every server hosting buckets for the partitioned region and not only > to that/those hosting the bucket where the data in the transaction belongs. > So, for example, in a partitioned region provided by two cache servers where > redundancy is zero, when a transaction is sent, the put is done on the server > hosting the bucket where the data in the transaction is to be stored but an > event for the put is sent to the two members. This provokes in the server not > hosting locally the bucket for the data in the event that the event > (GatewaySenderEvent) is stored in the bucketToTempQueueMap member variable of > the ParallelGatewaySenderQueue. > Those events are eventually removed from that member as events are sent by > the gateway sender to the remote site. Nevertheless, if the remote site > cannot be reached, the events are kept in that member which could provoke a > heap exhaustion problem if there is a sufficient amount of incoming > transactions and the remote site cannot be reached for the required amount of > time. > Events for a transaction should only be sent to the servers hosting the > bucket for the data in the transaction and not to all servers. -- This message was sent by Atlassian Jira (v8.3.4#803005)