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

Launcher will retry connections forever under some irrecoverable status

    Details

    • Type: Bug
    • Status: Closed (View Workflow)
    • Priority: Major
    • Resolution: Fixed
    • Component/s: remoting
    • Labels:
      None
    • Environment:
      yet-another-docker-plugin:rc38
      remoting:3.11
    • Similar Issues:
    • Released As:
      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

            Hide
            oleg_nenashev Oleg Nenashev added a comment -

            Yeah, it makes sense to add such checks

            Show
            oleg_nenashev Oleg Nenashev added a comment - Yeah, it makes sense to add such checks
            Hide
            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.

            Show
            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.
            Hide
            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 

            Javier Delgado (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.

            Show
            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   Javier Delgado (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

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

                Dates

                • Created:
                  Updated:
                  Resolved: