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

Preliminary FifoBuffer termination can cause outage of all JNLP1/2 agents

    XMLWordPrintable

Details

    • Bug
    • Status: Resolved (View Workflow)
    • Major
    • Resolution: Fixed
    • remoting
    • None

    Description

      This improvement should help with the triangilation of JENKINS-31050

      Background: I was analysing JIRA issues related to the NIOHub fatal channel termination causing massive disconnection of agents. It appears that the SingleLaneExecutor is not completely correctly used there...

      TL;DR: A single packet sent to the channel with pending shutdown may cause the termination of all remoting channels in JNLP1, JNLP2, CLI, and CLI2 protocols. JNLP4 does not seem to be affected.

      Attachments

        Issue Links

          Activity

            oleg_nenashev Oleg Nenashev added a comment - Created https://github.com/jenkinsci/remoting/pull/138

            Code changed in jenkins
            User: Oleg Nenashev
            Path:
            src/main/java/org/jenkinsci/remoting/nio/FifoBuffer.java
            src/main/java/org/jenkinsci/remoting/nio/NioChannelHub.java
            http://jenkins-ci.org/commit/remoting/2f81d4c9604dfe490b8474b0c44c1ef90f4cbeca
            Log:
            JENKINS-40491 - Improve diagnostincs of the preliminary FifoBuffer termination.

            When NioChannelHub suffers from the preliminary buffer closure, it will print a SEVERE log to the Agent log.
            This change should improve diagnostics of issues like JENKINS-31050

            scm_issue_link SCM/JIRA link daemon added a comment - Code changed in jenkins User: Oleg Nenashev Path: src/main/java/org/jenkinsci/remoting/nio/FifoBuffer.java src/main/java/org/jenkinsci/remoting/nio/NioChannelHub.java http://jenkins-ci.org/commit/remoting/2f81d4c9604dfe490b8474b0c44c1ef90f4cbeca Log: JENKINS-40491 - Improve diagnostincs of the preliminary FifoBuffer termination. When NioChannelHub suffers from the preliminary buffer closure, it will print a SEVERE log to the Agent log. This change should improve diagnostics of issues like JENKINS-31050

            Code changed in jenkins
            User: Oleg Nenashev
            Path:
            src/main/java/org/jenkinsci/remoting/nio/FifoBuffer.java
            src/main/java/org/jenkinsci/remoting/nio/NioChannelHub.java
            http://jenkins-ci.org/commit/remoting/e500853bc8b50c12761ad63739fd27fd40183b3c
            Log:
            Merge pull request #138 from oleg-nenashev/bug/JENKINS-31050

            JENKINS-40491 - Improve diagnostincs of the preliminary FifoBuffer termination

            Compare: https://github.com/jenkinsci/remoting/compare/cdd5bce5725d...e500853bc8b5

            scm_issue_link SCM/JIRA link daemon added a comment - Code changed in jenkins User: Oleg Nenashev Path: src/main/java/org/jenkinsci/remoting/nio/FifoBuffer.java src/main/java/org/jenkinsci/remoting/nio/NioChannelHub.java http://jenkins-ci.org/commit/remoting/e500853bc8b50c12761ad63739fd27fd40183b3c Log: Merge pull request #138 from oleg-nenashev/bug/ JENKINS-31050 JENKINS-40491 - Improve diagnostincs of the preliminary FifoBuffer termination Compare: https://github.com/jenkinsci/remoting/compare/cdd5bce5725d...e500853bc8b5

            Code changed in jenkins
            User: Oleg Nenashev
            Path:
            pom.xml
            http://jenkins-ci.org/commit/jenkins/ef588be4f264b5ba285110f472f031e2bd771c71
            Log:
            Update Jenkins remoting to 3.3 (#2671)

            • JENKINS-25218 - Hardening of FifoBuffer operation logic. The change improves the original fix in `remoting-2.54`.
            • JENKINS-39547 - Corrupt agent JAR cache causes agents to malfunction.

            Improvements:

            • JENKINS-40491 - Improve diagnostincs of the preliminary FifoBuffer termination.
            • ProxyException now retains any suppressed exceptions.
            scm_issue_link SCM/JIRA link daemon added a comment - Code changed in jenkins User: Oleg Nenashev Path: pom.xml http://jenkins-ci.org/commit/jenkins/ef588be4f264b5ba285110f472f031e2bd771c71 Log: Update Jenkins remoting to 3.3 (#2671) JENKINS-25218 - Hardening of FifoBuffer operation logic. The change improves the original fix in `remoting-2.54`. JENKINS-39547 - Corrupt agent JAR cache causes agents to malfunction. Improvements: JENKINS-40491 - Improve diagnostincs of the preliminary FifoBuffer termination. ProxyException now retains any suppressed exceptions.
            oleg_nenashev Oleg Nenashev added a comment -

            Released in jenkins-2.37. Will be an LTS candidate as a part of remoting 3.3

            oleg_nenashev Oleg Nenashev added a comment - Released in jenkins-2.37. Will be an LTS candidate as a part of remoting 3.3

            People

              oleg_nenashev Oleg Nenashev
              oleg_nenashev Oleg Nenashev
              Votes:
              0 Vote for this issue
              Watchers:
              4 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: