saintstack commented on a change in pull request #2652:
URL: https://github.com/apache/hbase/pull/2652#discussion_r522670863



##########
File path: 
hbase-client/src/main/java/org/apache/hadoop/hbase/client/ZKConnectionRegistry.java
##########
@@ -133,13 +133,17 @@ private static void tryComplete(MutableInt remaining, 
HRegionLocation[] locs,
       ServerName.valueOf(snProto.getHostName(), snProto.getPort(), 
snProto.getStartCode()));
   }
 
-  private void getMetaRegionLocation(CompletableFuture<RegionLocations> future,
+  @VisibleForTesting
+  void getMetaRegionLocation(CompletableFuture<RegionLocations> future,
       List<String> metaReplicaZNodes) {
     if (metaReplicaZNodes.isEmpty()) {
       future.completeExceptionally(new IOException("No meta znode available"));
     }
     HRegionLocation[] locs = new HRegionLocation[metaReplicaZNodes.size()];
     MutableInt remaining = new MutableInt(locs.length);
+    // Do NOT use replicaid as index into locations array. The location set 
may not be complete

Review comment:
       Let me try and do what you suggest later @apache9 with a list and 
pointers back to RegionLocations. Making an array that is maxReplicaId+1 is 
going to have the tryComplete do more work than was asked for (see 'remaining' 
param). Thanks for the help.




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