[ 
https://issues.apache.org/jira/browse/ACCUMULO-2542?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Michael Berman resolved ACCUMULO-2542.
--------------------------------------

    Resolution: Implemented

Thanks [~kturner], you're right, looks like this already works fine.  Not sure 
what was wrong with our original experiment, but I can't reproduce it now.

> Add mechanism to cancel scans
> -----------------------------
>
>                 Key: ACCUMULO-2542
>                 URL: https://issues.apache.org/jira/browse/ACCUMULO-2542
>             Project: Accumulo
>          Issue Type: Improvement
>          Components: tserver
>            Reporter: Michael Berman
>
> ScannerBase.close() closes all connections to a given scan, but if there's an 
> iterator spinning on the scan, it will keep running at least until a record 
> makes it all the way out of the iterator stack.  If you have a bug in an 
> iterator, or a filter that doesn't match anything, or a combiner that matches 
> everything, then that could mean scanning an entire table.  It would be nice 
> if there were some mechanism to interrupt that process.
> We probably couldn't do anything about a really buggy externally provided 
> iterator that just spins without calling next() downstream (short of calling 
> Thread.close(), which is probably a bad idea), but accumulo iterators could 
> periodically check for cancellation and bail gracefully (maybe each time 
> we're about to load a new block?).  It would be nice to provide a mechanism 
> for external iterators to check their cancellation status so they can have an 
> opportunity to be well behaved if they're doing anything that might take a 
> while, but that seems less important.



--
This message was sent by Atlassian JIRA
(v6.2#6252)

Reply via email to