Zombie Processes

This issue is archived. You can view it, but you can't modify it. Learn more

XMLWordPrintable

      Following the upgrade of the Active Choices Plugin from version 2.8.3 to 2.8.7, our Jenkins environment encounters a significant problem when executing a specific command sequence within a Groovy script. The command:

      kubectl --token=${eksCreds['token']} --server ${eksCreds['server']} --insecure-skip-tls-verify get hpa -n kube-system -o=custom-columns=NAME:.metadata.name --no-headers

      is consistently generating zombie processes on the Jenkins master instance. This occurrence substantially impacts the function and stability of Jenkins by contributing to job freezes lasting approximately 30 seconds, likely due to the accumulation of hundreds of lingering processes.

      [$class: 'CascadeChoiceParameter', choiceType: 'PT_SINGLE_SELECT', name: 'HPA_NAME', referencedParameters: 'REGION, ENVIRONMENT',
                script: [
                  $class: 'GroovyScript',
                  script: [
                      classpath: [],
                      sandbox: false,
                      script:
                             '''import groovy.json.JsonSlurper
                                def jsonSlurper = new JsonSlurper()
                                def result = []
                                def eks_secret = "some-secret"
                                def eksCreds = "aws secretsmanager --region ${REGION} get-secret-value --secret-id ${eks_secret}".execute() | "jq -r .SecretString".execute()
                                eksCreds.waitFor()
                                eksCreds= jsonSlurper.parseText(eksCreds.in.text)
      
                                def hpas="kubectl --token=${eksCreds['token']} --server ${eksCreds['server']} --insecure-skip-tls-verify get hpa -n kube-system -o=custom-columns=NAME:.metadata.name --no-headers".execute()
                                hpas.waitFor()
      
                                hpas =  hpas.in.text.split('\\n')
                                hpas.each { hpa ->
                                    if (!hpa.contains('proxy-')) {
                                      result.add(hpa)
                                    }
                                }
                                return result'''
                  ]
                ]
      ], 
        • I can confirm downgrading the Active Choices Plugin to version 2.8.3 effectively resolves this issue, restoring normal function and stability to Jenkins operations.

            Assignee:
            Bruno P. Kinoshita
            Reporter:
            Shahar
            Archiver:
            Jenkins Service Account

              Created:
              Updated:
              Archived: