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

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

    • Icon: Bug Bug
    • Resolution: Fixed
    • Icon: Major Major
    • remoting
    • None

      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.

          [JENKINS-40491] Preliminary FifoBuffer termination can cause outage of all JNLP1/2 agents

          Oleg Nenashev added a comment -

          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/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/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/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 added a comment -

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

          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
            oleg_nenashev Oleg Nenashev
            Votes:
            0 Vote for this issue
            Watchers:
            4 Start watching this issue

              Created:
              Updated:
              Resolved: