You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@accumulo.apache.org by "Christopher Tubbs (JIRA)" <ji...@apache.org> on 2014/01/29 00:15:06 UTC

[jira] [Updated] (ACCUMULO-2268) Use conditional mutations to update metadata table

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

Christopher Tubbs updated ACCUMULO-2268:
----------------------------------------

    Summary: Use conditional mutations to update metadata table  (was: Use conditinal mutations to update metadata table)

> Use conditional mutations to update metadata table
> --------------------------------------------------
>
>                 Key: ACCUMULO-2268
>                 URL: https://issues.apache.org/jira/browse/ACCUMULO-2268
>             Project: Accumulo
>          Issue Type: Improvement
>            Reporter: Keith Turner
>             Fix For: 1.7.0
>
>
> For correctness Accumulo requires that only one tablet server at a time serve a tablet.   Inorder to enforce this Accumulo uses zookeeper locks.  Its assumed when a tablet server lock disappears that the tablet server will kill itself.  Therefore a tablet thats assigned to a dead tablet server can be safely reassigned.  However sometimes tablet servers continue to operate for a period of time after losing their locks.  Sometimes this is caused by bugs in Accumulo, sometimes its the Java GC or swapping (and the tserver does die), sometimes its problems w/ zookeeper (like the zk thread that reports lock lost dies).
> In Accumulo 1.6 contditional mutations were added.  Making all tablet metadata updates use conditional mutations could make multiply assigned tablets less able to do damage.   
> For example if after a minor compaction, the metadata update mutation required the tablet location to be the current tserver that would prevent a zombie tserver from adding an extraneuous file to the metadata table for a tablet.
> [~ctubbsii] has discussed refactoring all metadata code so that its more modular and works w/ zookeeper (for root tablet) and metadata table using same API.  This solution could depend on that.  It may also be useful to make the root tablet operate more like a regular tablet and store its list of files in zookeeper.  Then the root tablet could benefit from these changes w/ the right abstraction layer.



--
This message was sent by Atlassian JIRA
(v6.1.5#6160)