jdeppe-pivotal commented on a change in pull request #6467:
URL: https://github.com/apache/geode/pull/6467#discussion_r631949717



##########
File path: 
geode-apis-compatible-with-redis/src/main/java/org/apache/geode/redis/internal/executor/cluster/ClusterExecutor.java
##########
@@ -145,28 +91,34 @@ private RedisResponse getSlots(ExecutionHandlerContext 
ctx) {
    * </pre>
    *
    * Note that there are no 'slave' entries since Geode does not host all 
secondary data apart from
-   * primary as redis does. The cluster port is provided only for consistency 
with the format
-   * of the output.
+   * primary as redis does. The cluster port is provided only for consistency 
with the format of the
+   * output.
    */
   private RedisResponse getNodes(ExecutionHandlerContext ctx) {
-    List<MemberBuckets> memberBuckets = getMemberBuckets(ctx);
     String memberId = ctx.getMemberName();
+    Map<String, List<Integer>> memberBuckets =
+        ctx.getRegionProvider().getSlotAdvisor().getMemberBuckets();
+    List<SlotAdvisor.MemberBucketSlot> memberBucketSlots =
+        ctx.getRegionProvider().getSlotAdvisor().getBucketSlots();
 
     StringBuilder response = new StringBuilder();
-    for (MemberBuckets m : memberBuckets) {
-      response.append(String.format("%s %s:%d@%d master",
-          m.getMemberId(), m.getHostAddress(), m.getPort(), m.getPort()));
+    for (Map.Entry<String, List<Integer>> member : memberBuckets.entrySet()) {
+      List<Integer> buckets = member.getValue();
+      SlotAdvisor.MemberBucketSlot mbs = memberBucketSlots.get(buckets.get(0));

Review comment:
       Actually it assumes that members (nodes) have at least one bucket. I'd 
prefer to have just one data structure that handles both slots:nodes and 
nodes:slots but I can't figure out how to avoid a bunch of redundancy. 




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


Reply via email to