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

Launcher will retry connections forever under some irrecoverable status

    • Icon: Bug Bug
    • Resolution: Fixed
    • Icon: Major Major
    • remoting
    • None
    • yet-another-docker-plugin:rc38
      remoting:3.11
    • Remoting 3.30, Jenkins 2.176

      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)

          [JENKINS-46515] Launcher will retry connections forever under some irrecoverable status

          Oleg Nenashev added a comment -

          Yeah, it makes sense to add such checks

          Oleg Nenashev added a comment - Yeah, it makes sense to add such checks

          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.

          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.

          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.

          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.

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

              Created:
              Updated:
              Resolved: