Base class setChannel does not handle exceptions from onOnline call

XMLWordPrintable

    • Type: Bug
    • Resolution: Fixed
    • Priority: Major
    • Component/s: 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.

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

              Created:
              Updated:
              Resolved: