Uploaded image for project: 'Jenkins'
  1. Jenkins
  2. JENKINS-46515

Launcher will retry connections forever under some irrecoverable status

    XMLWordPrintable

Details

    • Bug
    • Status: Closed (View Workflow)
    • Major
    • Resolution: Fixed
    • remoting
    • None
    • yet-another-docker-plugin:rc38
      remoting:3.11
    • Remoting 3.30, Jenkins 2.176

    Description

      Given a container has been started via the yet-another-docker-plugin (and possibly any other cloud provider), and leaving the JNLP process to reconnect (ie, no --no-reconnect flag)

      Eventually, after a Jenkins master restart, the JNLP process is receiving a 404 on requests to

      slaveJnlpURL
      

      with the remoting Launcher class retrying forever (haven't fond the cause for the slave removal).

      This loop wont be exited, leading to resource extarvation.

      A possible solution would be throwing a FileNotFoundException under a 404, at Launcher.java and adding a new exception handler at the same class (as that 404 will be not recoverable)

      Attachments

        Issue Links

          Activity

            oleg_nenashev Oleg Nenashev added a comment -

            Yeah, it makes sense to add such checks

            oleg_nenashev Oleg Nenashev added a comment - Yeah, it makes sense to add such checks
            teilo James Nord added a comment -

            noting that this introduced a regression, where an agent is spun and connects before jenkins has enabled a temporary jnlp endpoint for a cloud.

            teilo James Nord added a comment - noting that this introduced a regression, where an agent is spun and connects before jenkins has enabled a temporary jnlp endpoint for a cloud.
            jthompson Jeff Thompson added a comment -

            The Remoting release (3.30) containing this change was reverted from Jenkins core because it introduced a regression in some other scenarios, particularly involving cloud agents. I'm going to revert it from the Remoting master branch and create a new release without it and containing the changes included in 3.30.

            See #JENKINS-57759 and #JENKINS-57713 

            witokondoria (or someone else), if you are interested you can re-open this issue or create a similar one and propose a new approach that resolves the issues described here and maintains sequence needed by the other scenarios.

            jthompson Jeff Thompson added a comment - The Remoting release (3.30) containing this change was reverted from Jenkins core because it introduced a regression in some other scenarios, particularly involving cloud agents. I'm going to revert it from the Remoting master branch and create a new release without it and containing the changes included in 3.30. See # JENKINS-57759 and # JENKINS-57713   witokondoria (or someone else), if you are interested you can re-open this issue or create a similar one and propose a new approach that resolves the issues described here and maintains sequence needed by the other scenarios.

            People

              witokondoria Javier Delgado
              witokondoria Javier Delgado
              Votes:
              0 Vote for this issue
              Watchers:
              4 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: