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

JSON serialization should not fail if a plugins action failed to serialize

    • frank, tethys, christmas, iapetus, 1.0

      Context
      If there is a problem with the serialization of an Action then the rest response should not fail. We are unable to control 1000s of plugins and it would be a shame if a single plugin failed and made Blue Ocean inaccessible.
      A good example of this happening is JENKINS-40083.

      If the serialization of an action fails, the logs should identify what plugin failed and link to its wiki page (I believe all of this info is available via the Plugin Manager API) and ask them to report the stack trace as a bug for that project.

      Solution

          [JENKINS-40088] JSON serialization should not fail if a plugins action failed to serialize

          Jesse Glick added a comment -

          Filing under core as there (inside Stapler) is where the problem lies; whether or not Blue Ocean plugins should be contributing to the exact fix is under discussion. Moved lts-candidate label from JENKINS-40083; it missed 2.32.2, but if we act fast it might still make it into 2.32.3.

          Jesse Glick added a comment - Filing under core as there (inside Stapler) is where the problem lies; whether or not Blue Ocean plugins should be contributing to the exact fix is under discussion. Moved lts-candidate label from JENKINS-40083 ; it missed 2.32.2, but if we act fast it might still make it into 2.32.3.

          James Dumay added a comment -

          jglick adding back the blueocean-plugin component so we can track this in our backlog more easily, but yes I agree this is a core issue.

          James Dumay added a comment - jglick adding back the blueocean-plugin component so we can track this in our backlog more easily, but yes I agree this is a core issue.

          Jesse Glick added a comment -

          Agreement with vivek and michaelneale was to start with the simple defense against having the entire response end with a 500, and then have a follow-up PR (best tracked in a linked issue I think) to create an SPI for customized serialization that Blue Ocean would implement to ensure that its own classes are not tolerant of errors.

          Jesse Glick added a comment - Agreement with vivek and michaelneale was to start with the simple defense against having the entire response end with a 500, and then have a follow-up PR (best tracked in a linked issue I think) to create an SPI for customized serialization that Blue Ocean would implement to ensure that its own classes are not tolerant of errors.

          James Dumay added a comment -

          vivek this is the WSOD issue

          James Dumay added a comment - vivek this is the WSOD issue

          James Dumay added a comment -

          Another incidence of this problem JENKINS-41459

          James Dumay added a comment - Another incidence of this problem JENKINS-41459

          Code changed in jenkins
          User: Jesse Glick
          Path:
          changelog.html
          http://jenkins-ci.org/commit/jenkins/2f057b4edde450bb2e6fe86bcd02fd731c8dbc88
          Log:
          @daniel-beck’s 56da425 merging #2722 implied that JENKINS-40088 was fixed in 2.42; in fact it is toward 2.46.

          SCM/JIRA link daemon added a comment - Code changed in jenkins User: Jesse Glick Path: changelog.html http://jenkins-ci.org/commit/jenkins/2f057b4edde450bb2e6fe86bcd02fd731c8dbc88 Log: @daniel-beck’s 56da425 merging #2722 implied that JENKINS-40088 was fixed in 2.42; in fact it is toward 2.46.

          James Dumay added a comment -

          We are still tracking this one to fix in Blue Ocean.

          James Dumay added a comment - We are still tracking this one to fix in Blue Ocean.

          Removing lts-candidate label as the core part seems done and made it to 2.46, witch is the LTS baseline.

          Oliver Gondža added a comment - Removing lts-candidate label as the core part seems done and made it to 2.46, witch is the LTS baseline.

          Oleg Nenashev added a comment -

          Additional fix has been integrated towards Jenkins 2.74

          Oleg Nenashev added a comment - Additional fix has been integrated towards Jenkins 2.74

          Jesse Glick added a comment -

          Not a fix, exactly; a new API.

          Jesse Glick added a comment - Not a fix, exactly; a new API.

            vivek Vivek Pandey
            jamesdumay James Dumay
            Votes:
            0 Vote for this issue
            Watchers:
            7 Start watching this issue

              Created:
              Updated:
              Resolved: