bbeaudreault commented on code in PR #4335:
URL: https://github.com/apache/hbase/pull/4335#discussion_r852100015


##########
hbase-client/src/main/java/org/apache/hadoop/hbase/client/AsyncTableRegionLocatorImpl.java:
##########
@@ -65,13 +65,17 @@ public CompletableFuture<List<HRegionLocation>> 
getAllRegionLocations() {
       CompletableFuture<List<HRegionLocation>> future = new 
CompletableFuture<>();
       addListener(ClientMetaTableAccessor.getTableHRegionLocations(conn
           .getTable(TableName.META_TABLE_NAME), tableName), (locs, error) -> {
-        if (error != null) {
-          future.completeExceptionally(error);
-          return;
-        }
-        locs.forEach(loc -> 
conn.getLocator().getNonMetaRegionLocator().addLocationToCache(loc));
-        future.complete(locs);
-      });
+          if (error != null) {
+            future.completeExceptionally(error);
+            return;
+          }
+          try {
+            locs.forEach(loc -> conn.getLocator()
+              .getNonMetaRegionLocator().addLocationToCache(loc));

Review Comment:
   Ok, I was thinking we should try to have a similar behavior to the blocking 
client, which would throw an exception if the cache is unable to be loaded. I 
think many people will use this method as a way to fill the cache on process 
startup, so it's not great for them if it silently fails to load the cache. But 
if you don't like it maybe we can put a separate jira in to add a 
`loadRegionCache()` method if necessary.



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

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]

Reply via email to