accumulo-notifications mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Keith Turner (JIRA)" <>
Subject [jira] [Commented] (ACCUMULO-1568) Make configuration changes Atomic
Date Fri, 12 Jul 2013 19:01:49 GMT


Keith Turner commented on ACCUMULO-1568:

bq. I think zookeeper transactions are used for writes, not reads, but I could be mistaken.

I think you are right.  org.apache.zookeeper.Op only has write operations.   So the API does
not seem to provide a way to batch read operations for atomic reads.

bq.  If we flatten all iterators and settings to a single znode we can guarantee everything
is in sync, but then there's the race condition in the read/modify/write, but that can be
handled by stat versions.

I think thats the way to go.  No need to limit it to iterator settings.  Put all per table
config in a single node, all system config in a single node, and all namepace config in a
single node.   This could allow cleaning up of other potential problems.  For example there
is currently a race condition with setting locality groups.  If that method is called concurrently,
I think it could corrupt the config.  Using stat versions and all config in a single node
would offer a way to fix this.

> Make configuration changes Atomic
> ---------------------------------
>                 Key: ACCUMULO-1568
>                 URL:
>             Project: Accumulo
>          Issue Type: Bug
>            Reporter: Keith Turner
>             Fix For: 1.6.0
> I have not seen this issue, but its something I thought of.  Assume the following happens.
>  * iterators I1 ... I10 are configured to Table T1 at time 1
>  * iterators NI1 ... NI10 are configured to Table T1 at time 2
>  * compaction is reading iterator config and reads I1 ... I5  and NI4 ... NI9, a combination
of the two iterator configurations w/o NI10, this could be really bad.
> Seems like this could be solved by use of Zookeeper transactions.   The Accumulo API
will need to change to allow setting many iterators or config settings at once.

This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see:

View raw message