HBASE-22179 Fix RawAsyncHBaseAdmin.getCompactionState

This commit is contained in:
zhangduo 2019-04-06 22:17:46 +08:00
parent 2f05376687
commit 08060b32b1
1 changed files with 5 additions and 4 deletions

View File

@ -34,6 +34,7 @@ import java.util.Map;
import java.util.Optional; import java.util.Optional;
import java.util.Set; import java.util.Set;
import java.util.concurrent.CompletableFuture; import java.util.concurrent.CompletableFuture;
import java.util.concurrent.ConcurrentLinkedQueue;
import java.util.concurrent.TimeUnit; import java.util.concurrent.TimeUnit;
import java.util.concurrent.atomic.AtomicReference; import java.util.concurrent.atomic.AtomicReference;
import java.util.function.BiConsumer; import java.util.function.BiConsumer;
@ -2856,7 +2857,7 @@ class RawAsyncHBaseAdmin implements AsyncAdmin {
future.completeExceptionally(err); future.completeExceptionally(err);
return; return;
} }
List<CompactionState> regionStates = new ArrayList<>(); ConcurrentLinkedQueue<CompactionState> regionStates = new ConcurrentLinkedQueue<>();
List<CompletableFuture<CompactionState>> futures = new ArrayList<>(); List<CompletableFuture<CompactionState>> futures = new ArrayList<>();
locations.stream().filter(loc -> loc.getServerName() != null) locations.stream().filter(loc -> loc.getServerName() != null)
.filter(loc -> loc.getRegion() != null).filter(loc -> !loc.getRegion().isOffline()) .filter(loc -> loc.getRegion() != null).filter(loc -> !loc.getRegion().isOffline())
@ -2898,11 +2899,11 @@ class RawAsyncHBaseAdmin implements AsyncAdmin {
case NONE: case NONE:
default: default:
} }
}
if (!future.isDone()) { if (!future.isDone()) {
future.complete(state); future.complete(state);
} }
} }
}
}); });
}); });
break; break;