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

Base class setChannel does not handle exceptions from onOnline call

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Fixed
    • Icon: Major Major
    • core
    • Jenkins 2.177, LTS 2.176.1

      Throwing an exception in ComputerListener.onOnline should not take a node offline:

      core/src/main/java/hudson/slaves/ComputerListener.java#L135-L164

      However, there a number of issues filed that show exceptions in onOnline not being handled, the latest being one in branch-api:

      jenkinsci/branch-api-plugin PR #142

      Here is the code used in on the Master node and the related test:

      core/src/main/java/jenkins/model/Jenkins.java#L979-L993
      test/src/test/java/jenkins/model/JenkinsTest.java#L473-L487

      Here is the code in SlaveComputer.setChannel() and the test file showing no test:
      core/src/main/java/hudson/slaves/SlaveComputer.java#L696-L698
      test/src/test/java/hudson/slaves/SlaveComputerTest.java

      NOTE: the Jenkins.java code is not correct either since it will swallow more than the contract specifies - including NullPointerException for example. Also, it should probably be a WARNING rather than SEVERE.

            bitwiseman Liam Newman
            bitwiseman Liam Newman
            Votes:
            1 Vote for this issue
            Watchers:
            2 Start watching this issue

              Created:
              Updated:
              Resolved: