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.
---

Reply via email to