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

(JENKINS-68371) improve asynchrony of StandardPlannedNodeBuilder #1171

Open
wants to merge 1 commit into
base: master
Choose a base branch
from

Commits on May 3, 2022

  1. (JENKINS-68371) improve asynchrony of StandardPlannedNodeBuilder

    When the NodeProvisioner is building agents in the provision step: https://github.com/jenkinsci/kubernetes-plugin/blob/307d9791dcf7dfc3bbbcbdf1a7eab44ed752a4c8/src/main/java/org/csanchez/jenkins/plugins/kubernetes/KubernetesCloud.java#L536 it currently loops through the number of
    nodes to provision. This is implemented in the StandardPlannedNodeBuilder,
    and is done as a blocking operation, while using a Future interface
    to satisfy the consumers.  In our testing, it was seen that this
    operation could take upwards of 100 seconds when under load, causing
    provisioning to be effectively stopped for periods of time.
    
    This change introduces a configurable thread pool that will cause
    the Agent creation step to occur in a separate thread.  This, in
    our testing resolves the serial bottleneck issue and allows provisioning
    to continue while the blocking operations occur separately.
    jonathannewman committed May 3, 2022
    Configuration menu
    Copy the full SHA
    24ed436 View commit details
    Browse the repository at this point in the history