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

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

    XMLWordPrintable

Details

    • frank, tethys, christmas, iapetus, 1.0

    Description

      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

      Attachments

        Issue Links

          Activity

            michaelneale Michael Neale added a comment -

            jamesdumay do you want to write up to the mailing list what your proposed fix could be for this?

            michaelneale Michael Neale added a comment - jamesdumay do you want to write up to the mailing list what your proposed fix could be for this?
            michaelneale Michael Neale added a comment -

            This can't be closed as it is linked to as the resolving issue

            michaelneale Michael Neale added a comment - This can't be closed as it is linked to as the resolving issue
            jglick Jesse Glick added a comment -

            Linking to a proposed fix, or prototype of fix.

            jglick Jesse Glick added a comment - Linking to a proposed fix, or prototype of fix.
            jglick Jesse Glick added a comment -

            JENKINS-40083 was an instance of this IIUC?

            jglick Jesse Glick added a comment - JENKINS-40083 was an instance of this IIUC?
            jglick 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.

            jglick 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.
            jamesdumay 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.

            jamesdumay 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.
            jglick 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.

            jglick 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.
            jamesdumay James Dumay added a comment -

            vivek this is the WSOD issue

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

            Another incidence of this problem JENKINS-41459

            jamesdumay 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_issue_link 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.
            jamesdumay James Dumay added a comment -

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

            jamesdumay 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.

            olivergondza 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 Oleg Nenashev added a comment -

            Additional fix has been integrated towards Jenkins 2.74

            oleg_nenashev Oleg Nenashev added a comment - Additional fix has been integrated towards Jenkins 2.74
            jglick Jesse Glick added a comment -

            Not a fix, exactly; a new API.

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

            People

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

              Dates

                Created:
                Updated:
                Resolved: