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

Jonathan Park commented on ACCUMULO-3294:
-----------------------------------------

[~elserj] thanks for the feedback! I'll apply it to the patch if the patch is 
still desirable.

[~ctubbsii] I agree that this can enable users shooting themselves in the foot 
due to the lack of atomicity guarantees in Accumulo regarding the propagation 
of config. I still think such an API call is valuable and would become safer 
and easier to consume if/when Accumulo has the ability to support atomic 
updates to config (although if Accumulo adds transactional support to updates, 
then I would admit a dedicated update call would not add much value). 

The example use-case we have is 1 non-trivial iterator which is logically the 
composition of a set of iterators. This iterator will at run-time read its 
configuration and determine what it needs to do. The issue we're running into 
is that we can't afford to have a compaction start when we're in the middle of 
removing/adding. We could get pretty far by re-designing our system to disable 
major compactions so we can manually launch the compactions and control the 
iterator settings used (we would probably need some other design around minor 
compactions to handle those safely as well). 

If there's a particular direction that Accumulo is headed to support these 
changing configurations for compactions, I'd love to help out where possible to 
help make Accumulo easier to consume w.r.t configurations. I do admit this 
patch is less than ideal and doesn't address some other issues present. 

[~kturner] Thanks for the example and explanation of the benefits. I agree that 
it's safer for scans to follow such a pattern. 

> Need mechanism to update iterator settings
> ------------------------------------------
>
>                 Key: ACCUMULO-3294
>                 URL: https://issues.apache.org/jira/browse/ACCUMULO-3294
>             Project: Accumulo
>          Issue Type: Improvement
>          Components: client
>            Reporter: John Vines
>            Assignee: Jonathan Park
>             Fix For: 1.8.0
>
>         Attachments: bug3294.patch, bug3294.patch.1
>
>
> Currently our API supports attachIterator, removeIterator, and 
> getIteratorSettings. There is no mechanism to directly change an iterators 
> settings.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to