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

Set an upper limit of how large we will let txn-queues grow. #463

Open
wants to merge 5 commits into
base: v2
Choose a base branch
from

Commits on Jul 4, 2017

  1. Set an upper limit of how large we will let txn-queues grow.

    When we have broken transaction data in the database (such as from
    mongo getting OOM killed), it can cause cascade failure, where that
    document ends up getting too many transactions queued up against it.
    
    This can also happen if you have nothing but assert-only transactions against a
    single document.
    
    If we have lots of transactions, it becomes harder and harder to add
    new entries and clearing out a large queue is O(N^2) which means capping it
    is worthwhile. (It also makes the document grow until it hits max-doc-size.)
    
    The upper bound is still quite large, so it should not be triggered if
    everything is operating normally.
    jameinel committed Jul 4, 2017
    Configuration menu
    Copy the full SHA
    f9d8459 View commit details
    Browse the repository at this point in the history

Commits on Jul 5, 2017

  1. Add Runner.SetOptions to control maximum queue length.

    Still defaults to 1000 without any other configuration, but
    allows callers to know that they can be stricter/less strict.
    jameinel committed Jul 5, 2017
    Configuration menu
    Copy the full SHA
    f89b2fc View commit details
    Browse the repository at this point in the history

Commits on Nov 9, 2017

  1. Configuration menu
    Copy the full SHA
    a43a2ce View commit details
    Browse the repository at this point in the history

Commits on Nov 12, 2017

  1. Add a test for behavior when multiple documents participate with run …

    …that runs out of queue space.
    jameinel committed Nov 12, 2017
    Configuration menu
    Copy the full SHA
    dc2aeeb View commit details
    Browse the repository at this point in the history

Commits on Nov 13, 2017

  1. Change the flusher to still return a custom error.

    This still aborts the transaction, but then returns a custom error
    instead of ErrAborted. That allows us to still log the details, which
    lets us know what document is broken, but also avoids having a huge
    queue of Pending transactions wanting to be applied.
    jameinel committed Nov 13, 2017
    Configuration menu
    Copy the full SHA
    b236303 View commit details
    Browse the repository at this point in the history