You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@accumulo.apache.org by "Eric Newton (JIRA)" <ji...@apache.org> on 2014/07/24 22:14:39 UTC

[jira] [Resolved] (ACCUMULO-2041) refactor Tablet

     [ https://issues.apache.org/jira/browse/ACCUMULO-2041?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Eric Newton resolved ACCUMULO-2041.
-----------------------------------

    Resolution: Fixed

> 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
>
>         Attachments: ACCUMULO-2041-v1.patch, ACCUMULO-2041-v2.patch
>
>
> 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.2#6252)