[ 
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

Reply via email to