[
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)