Eric Newton created ACCUMULO-2041:
-------------------------------------

             Summary: refactor Tablet
                 Key: ACCUMULO-2041
                 URL: https://issues.apache.org/jira/browse/ACCUMULO-2041
             Project: Accumulo
          Issue Type: Bug
          Components: tserver
            Reporter: Eric Newton
            Assignee: Eric Newton
             Fix For: 1.7.0


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.



--
This message was sent by Atlassian JIRA
(v6.1.4#6159)

Reply via email to