Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

non-blocking iterator over entire index #20

Merged
merged 4 commits into from
Jun 19, 2012
Merged

non-blocking iterator over entire index #20

merged 4 commits into from
Jun 19, 2012

Commits on Jun 12, 2012

  1. Remove trailing whitespace

    rzezeski committed Jun 12, 2012
    Configuration menu
    Copy the full SHA
    bcc20ce View commit details
    Browse the repository at this point in the history
  2. Add iterator API to iterate entire index in non-blocking fashion

    This is used by async folds in order to allow repair without blocking
    primary vnodes.
    rzezeski committed Jun 12, 2012
    Configuration menu
    Copy the full SHA
    bffcfd4 View commit details
    Browse the repository at this point in the history
  3. Factor out buffer/segment locking code

    There are multiple places where the buffers and segments need to be
    locked.  Factor this code into a shared function.
    rzezeski committed Jun 12, 2012
    Configuration menu
    Copy the full SHA
    4695e13 View commit details
    Browse the repository at this point in the history

Commits on Jun 13, 2012

  1. Add back pressure to iterator API

    In order to prevent slower consumers from piling up result chunks add
    back pressure to the iterator API.  This is important because this API
    is used for handoff & repair both of which have back pressure and will
    potentially not be able to consume data as fast as the local iterator
    can produce it.
    
    Currently after every 4 result chunks sent the MI server iterator will
    wait until it sees a continue msg.  The number 4 was chosen
    arbitrarily and the reason for not applying back pressure on a
    per-chunk basis is to avoid some latency/overhead by reducing the
    number of msgs that need to be sent.
    rzezeski committed Jun 13, 2012
    Configuration menu
    Copy the full SHA
    7261550 View commit details
    Browse the repository at this point in the history