Tablet has some very delicate state stored in several variables. Translate this into some sort of sane state machine, with appropriate, clean log messages when the state transitions. I'm specifically thinking of closing, closed, closeComplete and closeCompleting. That's 16 possible states, but I'm thinking that only a few make any sense. May want to look at the ...InProgress and ..WaitingToStart booleans, too. Some of the embedded classes could be moved out to their own files, just to reduce the size of the class. There are 17 uses of the keyword class in this one file. The constructor nesting is pretty crazy. The constructor is doing too much. It should not be doing recovery, for example. It should not be passing "this" to anything. Small things, like extent, fs, conf should be final. Anything that would facilitate unit testing would be welcome.