Github user ivakegg commented on the issue: https://github.com/apache/accumulo/pull/260 @phrocker I apologize, but either I am missing something or I have not adequately explained what is going on here. First and foremost, no iterator will ever yield unless somebody explicitly writes an iterator that does. Yields are never forced. This is completely cooperative yielding. If somebody writes an iterator that does yield, then the iterator should only yield if it is taking too much time between keys being returned. In other words, if the iterator decides to yield often then it will suffer in overall performance. There will only be an increase in RPC calls if the iterator yields when there are keys in the buffer, but we have not reached scan max memory. Yes, long scans will continue to be long. This mechanism is simply to allow the system being developed to avoid starvation of short running scans if they cannot afford to increase the number of threads.
--- If your project is set up for it, you can reply to this email and have your reply appear on GitHub as well. If your project does not have this feature enabled and wishes so, or if the feature is enabled but not working, please contact infrastructure at infrastruct...@apache.org or file a JIRA ticket with INFRA. ---