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

regression resolving Descriptor using "$class" vs "kind"

    XMLWordPrintable

Details

    Description

      https://github.com/jenkinsci/jenkins/commit/4de46465153dae1a9e804c0d526c44d528f00fb4 restored support for "kind" as a way to resolve descriptor matching a configured entity.

      Side effect is : a descriptor which uses a custom string as ID (as recommended by hudson.model.Descriptor#getId) won't be resolved as hudson.model.Descriptor#find who will compare ID with $class, not kind=ID.

      Attachments

        Issue Links

          Activity

            This actually is an issue with Cloudbees-template plugin, which uses a distinct descriptor.id != descriptor.clazz. Issue will be fixed in cloudbees plugin.

            ndeloof Nicolas De Loof added a comment - This actually is an issue with Cloudbees-template plugin, which uses a distinct descriptor.id != descriptor.clazz. Issue will be fixed in cloudbees plugin.

            Code changed in jenkins
            User: Nicolas De Loof
            Path:
            core/src/main/java/hudson/model/Descriptor.java
            core/src/main/resources/lib/form/class-entry.jelly
            http://jenkins-ci.org/commit/jenkins/094d1cf723885e2c62e4acecb8fb0a32b45ff8ab
            Log:
            JENKINS-26781 set $class in submitted form to use descriptor.id, so descriptor can be retrieved by ID, which may not be clazz.name

            scm_issue_link SCM/JIRA link daemon added a comment - Code changed in jenkins User: Nicolas De Loof Path: core/src/main/java/hudson/model/Descriptor.java core/src/main/resources/lib/form/class-entry.jelly http://jenkins-ci.org/commit/jenkins/094d1cf723885e2c62e4acecb8fb0a32b45ff8ab Log: JENKINS-26781 set $class in submitted form to use descriptor.id, so descriptor can be retrieved by ID, which may not be clazz.name

            Code changed in jenkins
            User: Nicolas De Loof
            Path:
            core/src/main/java/hudson/model/Descriptor.java
            core/src/main/resources/lib/form/class-entry.jelly
            http://jenkins-ci.org/commit/jenkins/3edce884ec57c2b98d1aa18cd4a2c744bf1719c9
            Log:
            JENKINS-26781 set $class in submitted form to use descriptor.id, so descriptor can be retrieved by ID, which may not be clazz.name

            scm_issue_link SCM/JIRA link daemon added a comment - Code changed in jenkins User: Nicolas De Loof Path: core/src/main/java/hudson/model/Descriptor.java core/src/main/resources/lib/form/class-entry.jelly http://jenkins-ci.org/commit/jenkins/3edce884ec57c2b98d1aa18cd4a2c744bf1719c9 Log: JENKINS-26781 set $class in submitted form to use descriptor.id, so descriptor can be retrieved by ID, which may not be clazz.name

            Code changed in jenkins
            User: Nicolas De Loof
            Path:
            core/src/main/java/hudson/model/Descriptor.java
            core/src/main/resources/lib/form/class-entry.jelly
            http://jenkins-ci.org/commit/jenkins/57c9b4807b57e7d0e58894b53c806047e121ea1f
            Log:
            JENKINS-26781 set $class in submitted form to use descriptor.id, so descriptor can be retrieved by ID, which may not be clazz.name

            scm_issue_link SCM/JIRA link daemon added a comment - Code changed in jenkins User: Nicolas De Loof Path: core/src/main/java/hudson/model/Descriptor.java core/src/main/resources/lib/form/class-entry.jelly http://jenkins-ci.org/commit/jenkins/57c9b4807b57e7d0e58894b53c806047e121ea1f Log: JENKINS-26781 set $class in submitted form to use descriptor.id, so descriptor can be retrieved by ID, which may not be clazz.name

            Code changed in jenkins
            User: Nicolas De Loof
            Path:
            core/src/main/java/hudson/model/Descriptor.java
            core/src/main/resources/lib/form/class-entry.jelly
            http://jenkins-ci.org/commit/jenkins/8881703f7c7351695c5d5b2662faefae60de68e8
            Log:
            JENKINS-26781 lookup descriptor by ID, then by class if explicitly set
            to match some specific use cases.

            scm_issue_link SCM/JIRA link daemon added a comment - Code changed in jenkins User: Nicolas De Loof Path: core/src/main/java/hudson/model/Descriptor.java core/src/main/resources/lib/form/class-entry.jelly http://jenkins-ci.org/commit/jenkins/8881703f7c7351695c5d5b2662faefae60de68e8 Log: JENKINS-26781 lookup descriptor by ID, then by class if explicitly set to match some specific use cases.
            jglick Jesse Glick added a comment -

            I think this remains legitimate.

            jglick Jesse Glick added a comment - I think this remains legitimate.

            Code changed in jenkins
            User: Jesse Glick
            Path:
            changelog.html
            cli/pom.xml
            core/pom.xml
            core/src/main/java/hudson/FilePath.java
            core/src/main/java/hudson/model/Descriptor.java
            core/src/main/java/hudson/org/apache/tools/tar/TarInputStream.java
            core/src/main/java/hudson/org/apache/tools/tar/TarOutputStream.java
            core/src/main/java/hudson/tools/DownloadFromUrlInstaller.java
            core/src/main/java/hudson/util/io/TarArchiver.java
            core/src/main/java/jenkins/AgentProtocol.java
            core/src/test/java/hudson/FilePathTest.java
            plugins/pom.xml
            pom.xml
            test/pom.xml
            war/pom.xml
            http://jenkins-ci.org/commit/jenkins/b62a07c0dbba637001539c1e668be814a164f701
            Log:
            Merge branch 'master' into JENKINS-26781 and fixing @since TODO.

            scm_issue_link SCM/JIRA link daemon added a comment - Code changed in jenkins User: Jesse Glick Path: changelog.html cli/pom.xml core/pom.xml core/src/main/java/hudson/FilePath.java core/src/main/java/hudson/model/Descriptor.java core/src/main/java/hudson/org/apache/tools/tar/TarInputStream.java core/src/main/java/hudson/org/apache/tools/tar/TarOutputStream.java core/src/main/java/hudson/tools/DownloadFromUrlInstaller.java core/src/main/java/hudson/util/io/TarArchiver.java core/src/main/java/jenkins/AgentProtocol.java core/src/test/java/hudson/FilePathTest.java plugins/pom.xml pom.xml test/pom.xml war/pom.xml http://jenkins-ci.org/commit/jenkins/b62a07c0dbba637001539c1e668be814a164f701 Log: Merge branch 'master' into JENKINS-26781 and fixing @since TODO.

            Code changed in jenkins
            User: Jesse Glick
            Path:
            core/src/main/java/hudson/model/Descriptor.java
            core/src/main/resources/lib/form/class-entry.jelly
            http://jenkins-ci.org/commit/jenkins/2dcb6d3505d7166a94a6410c3c146a5e4350f8c1
            Log:
            Merge branch 'JENKINS-26781' of github.com:jenkinsci/jenkins into JENKINS-26781

            Compare: https://github.com/jenkinsci/jenkins/compare/3c4b1e63a271...2dcb6d3505d7

            scm_issue_link SCM/JIRA link daemon added a comment - Code changed in jenkins User: Jesse Glick Path: core/src/main/java/hudson/model/Descriptor.java core/src/main/resources/lib/form/class-entry.jelly http://jenkins-ci.org/commit/jenkins/2dcb6d3505d7166a94a6410c3c146a5e4350f8c1 Log: Merge branch ' JENKINS-26781 ' of github.com:jenkinsci/jenkins into JENKINS-26781 Compare: https://github.com/jenkinsci/jenkins/compare/3c4b1e63a271...2dcb6d3505d7

            Code changed in jenkins
            User: Jesse Glick
            Path:
            changelog.html
            core/src/main/java/jenkins/model/Jenkins.java
            core/src/main/java/jenkins/security/NonSerializableSecurityContext.java
            http://jenkins-ci.org/commit/jenkins/f3070d940c0e7655a50fc041e74d29a8e5ca2139
            Log:
            Merge branch 'master' into JENKINS-26781

            Compare: https://github.com/jenkinsci/jenkins/compare/f4ddac10838b...f3070d940c0e

            scm_issue_link SCM/JIRA link daemon added a comment - Code changed in jenkins User: Jesse Glick Path: changelog.html core/src/main/java/jenkins/model/Jenkins.java core/src/main/java/jenkins/security/NonSerializableSecurityContext.java http://jenkins-ci.org/commit/jenkins/f3070d940c0e7655a50fc041e74d29a8e5ca2139 Log: Merge branch 'master' into JENKINS-26781 Compare: https://github.com/jenkinsci/jenkins/compare/f4ddac10838b...f3070d940c0e

            Code changed in jenkins
            User: Jesse Glick
            Path:
            test/src/test/java/hudson/model/DescriptorTest.java
            http://jenkins-ci.org/commit/jenkins/33041903ab67c3e32959b7b78e557ffb7d4ecd16
            Log:
            JENKINS-26781 Reproduced problem in test.
            Besides failing in master, it also fails in 4e0af43 (merge of #1443), but passes in the 1.598-SNAPSHOT parent 239caf8.

            scm_issue_link SCM/JIRA link daemon added a comment - Code changed in jenkins User: Jesse Glick Path: test/src/test/java/hudson/model/DescriptorTest.java http://jenkins-ci.org/commit/jenkins/33041903ab67c3e32959b7b78e557ffb7d4ecd16 Log: JENKINS-26781 Reproduced problem in test. Besides failing in master, it also fails in 4e0af43 (merge of #1443), but passes in the 1.598-SNAPSHOT parent 239caf8.

            Code changed in jenkins
            User: Jesse Glick
            Path:
            core/src/main/java/hudson/model/Descriptor.java
            core/src/main/java/hudson/tools/DownloadFromUrlInstaller.java
            core/src/main/resources/lib/form/class-entry.jelly
            http://jenkins-ci.org/commit/jenkins/724df641168aa3a213d3322561782a1ba12b2ebd
            Log:
            Merge remote-tracking branch 'origin/JENKINS-26781' into JENKINS-26781

            scm_issue_link SCM/JIRA link daemon added a comment - Code changed in jenkins User: Jesse Glick Path: core/src/main/java/hudson/model/Descriptor.java core/src/main/java/hudson/tools/DownloadFromUrlInstaller.java core/src/main/resources/lib/form/class-entry.jelly http://jenkins-ci.org/commit/jenkins/724df641168aa3a213d3322561782a1ba12b2ebd Log: Merge remote-tracking branch 'origin/ JENKINS-26781 ' into JENKINS-26781

            Code changed in jenkins
            User: Jesse Glick
            Path:
            changelog.html
            core/src/main/java/hudson/DescriptorExtensionList.java
            core/src/main/java/hudson/model/ComputerSet.java
            core/src/main/java/hudson/model/Descriptor.java
            core/src/main/java/hudson/model/Items.java
            core/src/main/java/hudson/tools/DownloadFromUrlInstaller.java
            core/src/main/java/hudson/tools/ToolLocationNodeProperty.java
            core/src/main/java/hudson/util/DescriptorList.java
            core/src/main/resources/lib/form/class-entry.jelly
            test/src/test/java/hudson/model/DescriptorTest.java
            http://jenkins-ci.org/commit/jenkins/b688047877cf6b735ee17cd3d22436f5b4219b03
            Log:
            JENKINS-26781 Merging #1563.

            Compare: https://github.com/jenkinsci/jenkins/compare/bc8c0dfe0302...b688047877cf

            scm_issue_link SCM/JIRA link daemon added a comment - Code changed in jenkins User: Jesse Glick Path: changelog.html core/src/main/java/hudson/DescriptorExtensionList.java core/src/main/java/hudson/model/ComputerSet.java core/src/main/java/hudson/model/Descriptor.java core/src/main/java/hudson/model/Items.java core/src/main/java/hudson/tools/DownloadFromUrlInstaller.java core/src/main/java/hudson/tools/ToolLocationNodeProperty.java core/src/main/java/hudson/util/DescriptorList.java core/src/main/resources/lib/form/class-entry.jelly test/src/test/java/hudson/model/DescriptorTest.java http://jenkins-ci.org/commit/jenkins/b688047877cf6b735ee17cd3d22436f5b4219b03 Log: JENKINS-26781 Merging #1563. Compare: https://github.com/jenkinsci/jenkins/compare/bc8c0dfe0302...b688047877cf
            dogfood dogfood added a comment -

            Integrated in jenkins_main_trunk #4085
            JENKINS-26781 lookup descriptor by ID, then by class if explicitly set (Revision 8881703f7c7351695c5d5b2662faefae60de68e8)
            JENKINS-26781 Reproduced problem in test. (Revision 33041903ab67c3e32959b7b78e557ffb7d4ecd16)

            Result = SUCCESS
            nicolas de loof : 8881703f7c7351695c5d5b2662faefae60de68e8
            Files :

            • core/src/main/resources/lib/form/class-entry.jelly
            • core/src/main/java/hudson/model/Descriptor.java

            jesse glick : 33041903ab67c3e32959b7b78e557ffb7d4ecd16
            Files :

            • test/src/test/java/hudson/model/DescriptorTest.java
            dogfood dogfood added a comment - Integrated in jenkins_main_trunk #4085 JENKINS-26781 lookup descriptor by ID, then by class if explicitly set (Revision 8881703f7c7351695c5d5b2662faefae60de68e8) JENKINS-26781 Reproduced problem in test. (Revision 33041903ab67c3e32959b7b78e557ffb7d4ecd16) Result = SUCCESS nicolas de loof : 8881703f7c7351695c5d5b2662faefae60de68e8 Files : core/src/main/resources/lib/form/class-entry.jelly core/src/main/java/hudson/model/Descriptor.java jesse glick : 33041903ab67c3e32959b7b78e557ffb7d4ecd16 Files : test/src/test/java/hudson/model/DescriptorTest.java
            jglick Jesse Glick added a comment -

            Tentatively marking this as an LTS candidate, assuming that follow-on fixes from JENKINS-28011, JENKINS-28093, and JENKINS-28110 are included. Should be discussed on the list.

            jglick Jesse Glick added a comment - Tentatively marking this as an LTS candidate, assuming that follow-on fixes from JENKINS-28011 , JENKINS-28093 , and JENKINS-28110 are included. Should be discussed on the list.
            jglick Jesse Glick added a comment -

            Still intend to dig into JENKINS-28212 as well.

            The choices are:

            • Backport this fix as well as follow-on fixes, trusting that we have caught all the issues.
            • Do not backport anything, leaving an LTS line with a broken system.
            • Revert the whole set of changes starting with Stapler PR 39 and PR 1443 and backport the reversion, assuming plugins are not already starting to assume $class.
            jglick Jesse Glick added a comment - Still intend to dig into JENKINS-28212 as well. The choices are: Backport this fix as well as follow-on fixes, trusting that we have caught all the issues. Do not backport anything, leaving an LTS line with a broken system. Revert the whole set of changes starting with Stapler PR 39 and PR 1443 and backport the reversion, assuming plugins are not already starting to assume $class .
            jglick Jesse Glick added a comment -

            JENKINS-28212 is apparently unrelated (a regression in a plugin, reproducible in 1.580.1), so this fix plus its follow-ups is back on the table from my perspective.

            jglick Jesse Glick added a comment - JENKINS-28212 is apparently unrelated (a regression in a plugin, reproducible in 1.580.1), so this fix plus its follow-ups is back on the table from my perspective.

            Code changed in jenkins
            User: Nicolas De Loof
            Path:
            core/src/main/java/hudson/model/Descriptor.java
            core/src/main/resources/lib/form/class-entry.jelly
            http://jenkins-ci.org/commit/jenkins/dfa17c4a18cb9585681102770db8b7117eab9531
            Log:
            JENKINS-26781 lookup descriptor by ID, then by class if explicitly set
            to match some specific use cases.

            (cherry picked from commit 8881703f7c7351695c5d5b2662faefae60de68e8)

            scm_issue_link SCM/JIRA link daemon added a comment - Code changed in jenkins User: Nicolas De Loof Path: core/src/main/java/hudson/model/Descriptor.java core/src/main/resources/lib/form/class-entry.jelly http://jenkins-ci.org/commit/jenkins/dfa17c4a18cb9585681102770db8b7117eab9531 Log: JENKINS-26781 lookup descriptor by ID, then by class if explicitly set to match some specific use cases. (cherry picked from commit 8881703f7c7351695c5d5b2662faefae60de68e8)

            Code changed in jenkins
            User: Jesse Glick
            Path:
            test/src/test/java/hudson/model/DescriptorTest.java
            http://jenkins-ci.org/commit/jenkins/00cbb2823187df7efcf8c9de33907f0f58c77729
            Log:
            JENKINS-26781 Reproduced problem in test.
            Besides failing in master, it also fails in 4e0af43 (merge of #1443), but passes in the 1.598-SNAPSHOT parent 239caf8.
            (cherry picked from commit 33041903ab67c3e32959b7b78e557ffb7d4ecd16)

            scm_issue_link SCM/JIRA link daemon added a comment - Code changed in jenkins User: Jesse Glick Path: test/src/test/java/hudson/model/DescriptorTest.java http://jenkins-ci.org/commit/jenkins/00cbb2823187df7efcf8c9de33907f0f58c77729 Log: JENKINS-26781 Reproduced problem in test. Besides failing in master, it also fails in 4e0af43 (merge of #1443), but passes in the 1.598-SNAPSHOT parent 239caf8. (cherry picked from commit 33041903ab67c3e32959b7b78e557ffb7d4ecd16)

            Code changed in jenkins
            User: Oliver Gondža
            Path:
            core/src/main/java/hudson/DescriptorExtensionList.java
            core/src/main/java/hudson/model/ComputerSet.java
            core/src/main/java/hudson/model/Descriptor.java
            core/src/main/java/hudson/model/Items.java
            core/src/main/java/hudson/tools/ToolLocationNodeProperty.java
            core/src/main/java/hudson/util/DescriptorList.java
            core/src/main/resources/lib/form/class-entry.jelly
            test/src/test/java/hudson/model/DescriptorTest.java
            test/src/test/resources/hudson/model/DescriptorTest/B1/config.jelly
            test/src/test/resources/hudson/model/DescriptorTest/B2/config.jelly
            test/src/test/resources/hudson/model/DescriptorTest/D1/config.jelly
            test/src/test/resources/hudson/model/DescriptorTest/D2/config.jelly
            test/src/test/resources/hudson/model/DescriptorTest/D3/config.jelly
            http://jenkins-ci.org/commit/jenkins/0f0047a17d04aa0111e76046b5d3c8b1208e8385
            Log:
            Merge pull request #1701 from jglick/backport-JENKINS-26781

            JENKINS-26781 Backport to 1.609

            Compare: https://github.com/jenkinsci/jenkins/compare/aadc9914ff34...0f0047a17d04

            scm_issue_link SCM/JIRA link daemon added a comment - Code changed in jenkins User: Oliver Gondža Path: core/src/main/java/hudson/DescriptorExtensionList.java core/src/main/java/hudson/model/ComputerSet.java core/src/main/java/hudson/model/Descriptor.java core/src/main/java/hudson/model/Items.java core/src/main/java/hudson/tools/ToolLocationNodeProperty.java core/src/main/java/hudson/util/DescriptorList.java core/src/main/resources/lib/form/class-entry.jelly test/src/test/java/hudson/model/DescriptorTest.java test/src/test/resources/hudson/model/DescriptorTest/B1/config.jelly test/src/test/resources/hudson/model/DescriptorTest/B2/config.jelly test/src/test/resources/hudson/model/DescriptorTest/D1/config.jelly test/src/test/resources/hudson/model/DescriptorTest/D2/config.jelly test/src/test/resources/hudson/model/DescriptorTest/D3/config.jelly http://jenkins-ci.org/commit/jenkins/0f0047a17d04aa0111e76046b5d3c8b1208e8385 Log: Merge pull request #1701 from jglick/backport- JENKINS-26781 JENKINS-26781 Backport to 1.609 Compare: https://github.com/jenkinsci/jenkins/compare/aadc9914ff34...0f0047a17d04
            dogfood dogfood added a comment -

            Integrated in jenkins_main_trunk #4292
            JENKINS-26781 lookup descriptor by ID, then by class if explicitly set (Revision dfa17c4a18cb9585681102770db8b7117eab9531)
            JENKINS-26781 Reproduced problem in test. (Revision 00cbb2823187df7efcf8c9de33907f0f58c77729)

            Result = UNSTABLE
            jesse glick : dfa17c4a18cb9585681102770db8b7117eab9531
            Files :

            • core/src/main/java/hudson/model/Descriptor.java
            • core/src/main/resources/lib/form/class-entry.jelly

            jesse glick : 00cbb2823187df7efcf8c9de33907f0f58c77729
            Files :

            • test/src/test/java/hudson/model/DescriptorTest.java
            dogfood dogfood added a comment - Integrated in jenkins_main_trunk #4292 JENKINS-26781 lookup descriptor by ID, then by class if explicitly set (Revision dfa17c4a18cb9585681102770db8b7117eab9531) JENKINS-26781 Reproduced problem in test. (Revision 00cbb2823187df7efcf8c9de33907f0f58c77729) Result = UNSTABLE jesse glick : dfa17c4a18cb9585681102770db8b7117eab9531 Files : core/src/main/java/hudson/model/Descriptor.java core/src/main/resources/lib/form/class-entry.jelly jesse glick : 00cbb2823187df7efcf8c9de33907f0f58c77729 Files : test/src/test/java/hudson/model/DescriptorTest.java

            People

              jglick Jesse Glick
              ndeloof Nicolas De Loof
              Votes:
              0 Vote for this issue
              Watchers:
              4 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: