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

Ivan Bella commented on ACCUMULO-4643:
--------------------------------------

I reworked the pull request to use interface methods instead of throwing 
exceptions. This also ensures that the yielding mechanism will not interrupt 
when using row isolation mode.

> 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: 6.5h
>  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)

Reply via email to