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]