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

Eval Broker: Prevent redundant enqueue's when a node is not a leader #5699

Merged
merged 4 commits into from
May 15, 2019

Commits on May 14, 2019

  1. evalbroker: Flush within update lock

    Primarily a cleanup commit, however, currently there is a potential race
    condition (that I'm not sure we've ever actually hit) during a flapping
    SetEnabled/Disabled state where we may never correctly restart the eval
    broker, if it was being called from multiple routines.
    endocrimes committed May 14, 2019
    Configuration menu
    Copy the full SHA
    c24e1a8 View commit details
    Browse the repository at this point in the history
  2. evalbroker: No new enqueues when disabled

    Currently when an evalbroker is disabled, it still recieves delayed
    enqueues via log application in the fsm. This causes an ever growing
    heap of evaluations that will never be drained, and can cause memory
    issues in larger clusters, or when left running for an extended period
    of time without a leader election.
    
    This commit prevents the enqueuing of evaluations while we are
    disabled, and relies on the leader restoreEvals routine to handle
    reconciling state during a leadership transition.
    
    Existing dequeues during an Enabled->Disabled broker state transition are
    handled by the enqueueLocked function dropping evals.
    endocrimes committed May 14, 2019
    Configuration menu
    Copy the full SHA
    c4eef72 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    c67fb62 View commit details
    Browse the repository at this point in the history

Commits on May 15, 2019

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