accumulo-notifications mailing list archives

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

    [ https://issues.apache.org/jira/browse/ACCUMULO-1568?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13707246#comment-13707246
] 

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: https://issues.apache.org/jira/browse/ACCUMULO-1568
>             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: http://www.atlassian.com/software/jira

Mime
View raw message