[
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