[
https://issues.apache.org/jira/browse/ACCUMULO-4643?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16029824#comment-16029824
]
Keith Turner commented on ACCUMULO-4643:
----------------------------------------
[~ivan.bella] for your PR, what made you decide on option #2 over option #1?
> Allow iterators to interrupt themselves
> ---------------------------------------
>
> Key: ACCUMULO-4643
> URL: https://issues.apache.org/jira/browse/ACCUMULO-4643
> Project: Accumulo
> Issue Type: Improvement
> Components: tserver
> Affects Versions: 1.8.1, 2.0.0
> Reporter: Ivan Bella
> Assignee: Ivan Bella
> Labels: features
> Fix For: 2.0.0
>
> Time Spent: 6h 10m
> Remaining Estimate: 0h
>
> The idea here is to allow an iterator stack to send back a special key or
> throw a special exception which will allow the tablet server to tear down the
> scan to be rebuilt later. This is to handle the case where an iterator is
> doing a lot of work without returning results to avoid starving out other
> scans.
> There are two thoughts on how to do this:
> 1) A special "interrupt" key is returned from the getTopKey call that is
> detected in the Tablet.nextBatch call, is not added to the results, but is
> used to add an unfinished range and results in the remaining ranges to be
> deemed unfinished.
> 2) An special exception is thrown from the next or seek call that included
> the key of the current position, and the same actions are taken as in 1).
--
This message was sent by Atlassian JIRA
(v6.3.15#6346)