Skip to content

Commit fc7ab16

Browse files
committed
Revert TabletServer
1 parent 8158304 commit fc7ab16

File tree

1 file changed

+16
-18
lines changed

1 file changed

+16
-18
lines changed

server/tserver/src/main/java/org/apache/accumulo/tserver/TabletServer.java

+16-18
Original file line numberDiff line numberDiff line change
@@ -59,7 +59,6 @@
5959
import java.util.concurrent.ScheduledFuture;
6060
import java.util.concurrent.ThreadPoolExecutor;
6161
import java.util.concurrent.TimeUnit;
62-
import java.util.concurrent.atomic.AtomicBoolean;
6362
import java.util.concurrent.atomic.AtomicInteger;
6463
import java.util.concurrent.atomic.AtomicLong;
6564
import java.util.concurrent.locks.ReentrantLock;
@@ -964,41 +963,40 @@ public void run() {
964963
.numMaxThreads(16).build();
965964

966965
ManagerClientService.Client iface = managerConnection(getManagerAddress());
967-
final AtomicBoolean managerDown = new AtomicBoolean(false);
966+
boolean managerDown = false;
968967

969968
try {
970-
for (DataLevel level : DataLevel.values()) {
969+
for (DataLevel level : new DataLevel[] {DataLevel.USER, DataLevel.METADATA, DataLevel.ROOT}) {
971970
getOnlineTablets().keySet().forEach(ke -> {
972971
if (DataLevel.of(ke.tableId()) == level) {
973972
futures.add(
974973
tpe.submit(new UnloadTabletHandler(this, ke, TUnloadTabletGoal.UNASSIGNED, 5000)));
975974
}
976975
});
977976
while (!futures.isEmpty()) {
978-
futures.removeIf(f -> {
979-
if (!f.isDone()) {
980-
return false;
981-
}
982-
if (!managerDown.get()) {
983-
ManagerMessage mm = managerMessages.poll();
984-
try {
985-
if (mm != null) {
977+
Iterator<Future<?>> unloads = futures.iterator();
978+
while (unloads.hasNext()) {
979+
Future<?> f = unloads.next();
980+
if (f.isDone()) {
981+
if (!managerDown) {
982+
ManagerMessage mm = managerMessages.poll();
983+
try {
986984
mm.send(getContext().rpcCreds(), getClientAddressString(), iface);
985+
} catch (TException e) {
986+
managerDown = true;
987+
LOG.debug("Error sending message to Manager during tablet unloading, msg: {}",
988+
e.getMessage());
987989
}
988-
} catch (TException e) {
989-
managerDown.set(true);
990-
log.debug("Error sending message to Manager during tablet unloading, msg: {}",
991-
e.getMessage());
992990
}
991+
unloads.remove();
993992
}
994-
return true;
995-
});
993+
}
996994
log.debug("Waiting on {} {} tablets to close.", futures.size(), level);
997995
UtilWaitThread.sleep(1000);
998996
}
999997
}
1000998
} finally {
1001-
if (!managerDown.get()) {
999+
if (!managerDown) {
10021000
try {
10031001
ManagerMessage mm = managerMessages.poll();
10041002
do {

0 commit comments

Comments
 (0)