[ 
https://issues.apache.org/jira/browse/GEODE-9575?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Owen Nichols closed GEODE-9575.
-------------------------------

> redis publish sends an extra message to each server
> ---------------------------------------------------
>
>                 Key: GEODE-9575
>                 URL: https://issues.apache.org/jira/browse/GEODE-9575
>             Project: Geode
>          Issue Type: Improvement
>          Components: redis
>            Reporter: Darrel Schneider
>            Assignee: Darrel Schneider
>            Priority: Major
>              Labels: pull-request-available
>             Fix For: 1.15.0
>
>
> The redis publish command uses a geode function to distribute the publish to 
> each server that may have subscriptions. When it does this it calls 
> PartitionRegionHelper.getPartitionRegionInfo. It turns out the implementation 
> of this method sends a message to each data store: 
> FetchPartitionDetailsMessage.
> Since all redis publish wanted to do was execute the function on each server 
> that has the redis data region, it could have instead done it like so in 
> RegionProvider.getRegionMembers:
> {code:java}
>     Set<InternalDistributedMember> otherMembers =
>      partitionedRegion.getRegionAdvisor().adviseDataStore();
>      Set<DistributedMember> result = new HashSet<>(otherMembers.size()+1);
>      result.addAll(otherMembers);
>      
> result.add(partitionedRegion.getDistributionManager().getDistributionManagerId());
>      return result;
> {code}
> When I did this I started seeing one of the tests fail. It looked like it 
> might had to do with something left around from one test method interfering 
> with another. It is possible that the older slow code works in this test 
> because the extra messaging slows publish down. It was a dunit test that did 
> some ha (starting and stopping servers). I verified that this code does 
> produce the same set of members as the old code but I did not figure out what 
> was wrong with the test that started failing.



--
This message was sent by Atlassian Jira
(v8.20.7#820007)

Reply via email to