final long deadline = System.currentTimeMillis() + 1000;
statusThread.join(remaining(deadline));
deleteThread.join(remaining(deadline));
recovery.stop();
recoveryThread.join(remaining(deadline));
// quit, even if the tablet servers somehow jam up and the watchers
// don't stop
for (TabletGroupWatcher watcher : watchers) {
watcher.join(remaining(deadline));