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

Delete the oldest build but it still come up on HistoryWidget

    • Icon: Bug Bug
    • Resolution: Fixed
    • Icon: Minor Minor
    • core
    • Jenkins 1.492

      I deleted the oldest build.
      However it still come up on HistoryWidget and clicking it causes the following exception.

      404 Not Found
      
      Stapler processed this HTTP request as follows, but couldn't find the resource to consume the request
      
      -> evaluate(<hudson.model.Hudson@428643e3> :hudson.model.Hudson,"/view/private/job/simpleftp/167")
      -> evaluate(((StaplerProxy)<hudson.model.Hudson@428643e3>).getTarget(),"/view/private/job/simpleftp/167")
      -> evaluate(<hudson.model.Hudson@428643e3>.getView("private"),"/job/simpleftp/167")
      -> evaluate(<hudson.model.ListView@35ce8a4c> :hudson.model.ListView,"/job/simpleftp/167")
      -> evaluate(<hudson.model.ListView@35ce8a4c>.getJob("simpleftp"),"/167")
      -> evaluate(<hudson.maven.MavenModuleSet@54ff23f3[simpleftp]> :hudson.maven.MavenModuleSet,"/167")
      -> evaluate(<hudson.maven.MavenModuleSet@54ff23f3[simpleftp]>.getDynamic("167",...),"")
                  hudson.maven.MavenModuleSet@54ff23f3[simpleftp].getDynamic("167",...)==null. Back tracking.
      -> No matching rule was found on <hudson.maven.MavenModuleSet@54ff23f3[simpleftp]> for "/167"
      <hudson.maven.MavenModuleSet@54ff23f3[simpleftp]> has the following URL mappings, in the order of preference:
      
      hudson.maven.MavenModuleSet.doDoDeleteAllDisabledModules(...) for url=/doDeleteAllDisabledModules/...
      hudson.maven.MavenModuleSet.doCheckFileInWorkspace(...) for url=/checkFileInWorkspace/...
      hudson.model.AbstractProject.doConfigSubmit(...) for url=/configSubmit/...
      hudson.model.AbstractProject.doDoDelete(...) for url=/doDelete/...
      hudson.model.AbstractProject.doCheckRetryCount(...) for url=/checkRetryCount/...
      hudson.model.AbstractProject.doBuild(...) for url=/build/...
      hudson.model.AbstractProject.doBuildWithParameters(...) for url=/buildWithParameters/...
      hudson.model.AbstractProject.doPolling(...) for url=/polling/...
      hudson.model.AbstractProject.doCancelQueue(...) for url=/cancelQueue/...
      hudson.model.AbstractProject.doWs(...) for url=/ws/...
      hudson.model.AbstractProject.doDoWipeOutWorkspace(...) for url=/doWipeOutWorkspace/...
      hudson.model.AbstractProject.doDisable(...) for url=/disable/...
      hudson.model.AbstractProject.doEnable(...) for url=/enable/...
      hudson.model.AbstractProject.doRssChangelog(...) for url=/rssChangelog/...
      hudson.model.Job.doRssAll(...) for url=/rssAll/...
      hudson.model.Job.doRssFailed(...) for url=/rssFailed/...
      hudson.model.Job.doBuildStatus(...) for url=/buildStatus/...
      hudson.model.Job.doDescription(...) for url=/description/...
      hudson.model.Job.doDoRename(...) for url=/doRename/...
      hudson.model.AbstractItem.doSubmitDescription(...) for url=/submitDescription/...
      hudson.model.AbstractItem.doConfigDotXml(...) for url=/config.xml/...
      hudson.model.Actionable.doContextMenu(...) for url=/contextMenu/...
      TOKEN.groovy for url=/TOKEN/...
      VIEW.jelly for url=/VIEW
      hudson.maven.MavenModuleSet.DESCRIPTOR for url=/DESCRIPTOR/...
      hudson.model.Item.PERMISSIONS for url=/PERMISSIONS/...
      hudson.model.Item.CREATE for url=/CREATE/...
      hudson.model.Item.DELETE for url=/DELETE/...
      hudson.model.Item.CONFIGURE for url=/CONFIGURE/...
      hudson.model.Item.READ for url=/READ/...
      hudson.model.Item.DISCOVER for url=/DISCOVER/...
      hudson.model.Item.EXTENDED_READ for url=/EXTENDED_READ/...
      hudson.model.Item.BUILD for url=/BUILD/...
      hudson.model.Item.WORKSPACE for url=/WORKSPACE/...
      hudson.model.Item.WIPEOUT for url=/WIPEOUT/...
      hudson.model.Item.CANCEL for url=/CANCEL/...
      hudson.model.Saveable.NOOP for url=/NOOP/...
      hudson.model.Saveable.NOOP for url=/NOOP/...
      hudson.model.Item.PERMISSIONS for url=/PERMISSIONS/...
      hudson.model.Item.CREATE for url=/CREATE/...
      hudson.model.Item.DELETE for url=/DELETE/...
      hudson.model.Item.CONFIGURE for url=/CONFIGURE/...
      hudson.model.Item.READ for url=/READ/...
      hudson.model.Item.DISCOVER for url=/DISCOVER/...
      hudson.model.Item.EXTENDED_READ for url=/EXTENDED_READ/...
      hudson.model.Item.BUILD for url=/BUILD/...
      hudson.model.Item.WORKSPACE for url=/WORKSPACE/...
      hudson.model.Item.WIPEOUT for url=/WIPEOUT/...
      hudson.model.Item.CANCEL for url=/CANCEL/...
      hudson.model.Saveable.NOOP for url=/NOOP/...
      hudson.model.Saveable.NOOP for url=/NOOP/...
      hudson.model.AbstractProject.ABORT for url=/ABORT/...
      hudson.model.AbstractProject.BUILD_NOW_TEXT for url=/BUILD_NOW_TEXT/...
      hudson.model.Item.PERMISSIONS for url=/PERMISSIONS/...
      hudson.model.Item.CREATE for url=/CREATE/...
      hudson.model.Item.DELETE for url=/DELETE/...
      hudson.model.Item.CONFIGURE for url=/CONFIGURE/...
      hudson.model.Item.READ for url=/READ/...
      hudson.model.Item.DISCOVER for url=/DISCOVER/...
      hudson.model.Item.EXTENDED_READ for url=/EXTENDED_READ/...
      hudson.model.Item.BUILD for url=/BUILD/...
      hudson.model.Item.WORKSPACE for url=/WORKSPACE/...
      hudson.model.Item.WIPEOUT for url=/WIPEOUT/...
      hudson.model.Item.CANCEL for url=/CANCEL/...
      hudson.model.Saveable.NOOP for url=/NOOP/...
      hudson.model.AbstractItem.PRONOUN for url=/PRONOUN/...
      hudson.model.Item.PERMISSIONS for url=/PERMISSIONS/...
      hudson.model.Item.CREATE for url=/CREATE/...
      hudson.model.Item.DELETE for url=/DELETE/...
      hudson.model.Item.CONFIGURE for url=/CONFIGURE/...
      hudson.model.Item.READ for url=/READ/...
      hudson.model.Item.DISCOVER for url=/DISCOVER/...
      hudson.model.Item.EXTENDED_READ for url=/EXTENDED_READ/...
      hudson.model.Item.BUILD for url=/BUILD/...
      hudson.model.Item.WORKSPACE for url=/WORKSPACE/...
      hudson.model.Item.WIPEOUT for url=/WIPEOUT/...
      hudson.model.Item.CANCEL for url=/CANCEL/...
      hudson.model.Saveable.NOOP for url=/NOOP/...
      hudson.maven.MavenModuleSet.getDescriptor() for url=/descriptor/...
      hudson.maven.MavenModuleSet.getDescriptor() for url=/descriptor/...
      hudson.maven.MavenModuleSet.getDescriptor() for url=/descriptor/...
      hudson.maven.MavenModuleSet.getItems() for url=/items/...
      hudson.maven.MavenModuleSet.getUrlChildPrefix() for url=/urlChildPrefix/...
      hudson.maven.MavenModuleSet.getAllJobs() for url=/allJobs/...
      hudson.maven.MavenModuleSet.getBuildWrappersList() for url=/buildWrappersList/...
      hudson.maven.MavenModuleSet.getQueueItems() for url=/queueItems/...
      hudson.maven.MavenModuleSet.getApproximateQueueItemsQuickly() for url=/approximateQueueItemsQuickly/...
      hudson.maven.MavenModuleSet.getPublishersList() for url=/publishersList/...
      hudson.maven.MavenModuleSet.getPublishers() for url=/publishers/...
      hudson.maven.MavenModuleSet.getBuildWrappers() for url=/buildWrappers/...
      hudson.maven.MavenModuleSet.getMaven() for url=/maven/...
      hudson.maven.MavenModuleSet.getGoals() for url=/goals/...
      hudson.maven.MavenModuleSet.getUserConfiguredGoals() for url=/userConfiguredGoals/...
      hudson.maven.MavenModuleSet.getReporters() for url=/reporters/...
      hudson.maven.MavenModuleSet.getModules() for url=/modules/...
      hudson.maven.MavenModuleSet.getPrebuilders() for url=/prebuilders/...
      hudson.maven.MavenModuleSet.getPostbuilders() for url=/postbuilders/...
      hudson.maven.MavenModuleSet.getRunPostStepsIfResult() for url=/runPostStepsIfResult/...
      hudson.maven.MavenModuleSet.getLocalRepository() for url=/localRepository/...
      hudson.maven.MavenModuleSet.getExplicitLocalRepository() for url=/explicitLocalRepository/...
      hudson.maven.MavenModuleSet.getMavenValidationLevel() for url=/mavenValidationLevel/...
      hudson.maven.MavenModuleSet.getSettings() for url=/settings/...
      hudson.maven.MavenModuleSet.getGlobalSettings() for url=/globalSettings/...
      hudson.maven.MavenModuleSet.getRootModule() for url=/rootModule/...
      hudson.maven.MavenModuleSet.getRootPOM() for url=/rootPOM/...
      hudson.maven.MavenModuleSet.getAlternateSettings() for url=/alternateSettings/...
      hudson.maven.MavenModuleSet.getProfiles() for url=/profiles/...
      hudson.maven.MavenModuleSet.getMavenProperties() for url=/mavenProperties/...
      hudson.maven.MavenModuleSet.getMavenOpts() for url=/mavenOpts/...
      hudson.model.AbstractProject.getActions() for url=/actions/...
      hudson.model.AbstractProject.getScm() for url=/scm/...
      hudson.model.AbstractProject.getJDK() for url=/jDK/...
      hudson.model.AbstractProject.getQuietPeriod() for url=/quietPeriod/...
      hudson.model.AbstractProject.getScmCheckoutRetryCount() for url=/scmCheckoutRetryCount/...
      hudson.model.AbstractProject.getAssignedLabel() for url=/assignedLabel/...
      hudson.model.AbstractProject.getIconColor() for url=/iconColor/...
      hudson.model.AbstractProject.getRelevantLabels() for url=/relevantLabels/...
      hudson.model.AbstractProject.getRootProject() for url=/rootProject/...
      hudson.model.AbstractProject.getLastBuild() for url=/lastBuild/...
      hudson.model.AbstractProject.getLastBuild() for url=/lastBuild/...
      hudson.model.AbstractProject.getQueueItem() for url=/queueItem/...
      hudson.model.AbstractProject.getPronoun() for url=/pronoun/...
      hudson.model.AbstractProject.getFirstBuild() for url=/firstBuild/...
      hudson.model.AbstractProject.getFirstBuild() for url=/firstBuild/...
      hudson.model.AbstractProject.getAssignedLabelString() for url=/assignedLabelString/...
      hudson.model.AbstractProject.getBuildNowText() for url=/buildNowText/...
      hudson.model.AbstractProject.getWorkspace() for url=/workspace/...
      hudson.model.AbstractProject.getSomeWorkspace() for url=/someWorkspace/...
      hudson.model.AbstractProject.getSomeBuildWithWorkspace() for url=/someBuildWithWorkspace/...
      hudson.model.AbstractProject.getModuleRoot() for url=/moduleRoot/...
      hudson.model.AbstractProject.getModuleRoots() for url=/moduleRoots/...
      hudson.model.AbstractProject.getScmCheckoutStrategy() for url=/scmCheckoutStrategy/...
      hudson.model.AbstractProject.getHasCustomQuietPeriod() for url=/hasCustomQuietPeriod/...
      hudson.model.AbstractProject.getProminentActions() for url=/prominentActions/...
      hudson.model.AbstractProject.getAuthToken() for url=/authToken/...
      hudson.model.AbstractProject.getLastBuiltOn() for url=/lastBuiltOn/...
      hudson.model.AbstractProject.getSameNodeConstraint() for url=/sameNodeConstraint/...
      hudson.model.AbstractProject.getOwnerTask() for url=/ownerTask/...
      hudson.model.AbstractProject.getWhyBlocked() for url=/whyBlocked/...
      hudson.model.AbstractProject.getCauseOfBlockage() for url=/causeOfBlockage/...
      hudson.model.AbstractProject.getBuildingDownstream() for url=/buildingDownstream/...
      hudson.model.AbstractProject.getBuildingUpstream() for url=/buildingUpstream/...
      hudson.model.AbstractProject.getSubTasks() for url=/subTasks/...
      hudson.model.AbstractProject.getSubTasks() for url=/subTasks/...
      hudson.model.AbstractProject.getWorkspaceResource() for url=/workspaceResource/...
      hudson.model.AbstractProject.getResourceList() for url=/resourceList/...
      hudson.model.AbstractProject.getTriggers() for url=/triggers/...
      hudson.model.AbstractProject.getDownstreamProjects() for url=/downstreamProjects/...
      hudson.model.AbstractProject.getUpstreamProjects() for url=/upstreamProjects/...
      hudson.model.AbstractProject.getBuildTriggerUpstreamProjects() for url=/buildTriggerUpstreamProjects/...
      hudson.model.AbstractProject.getTransitiveUpstreamProjects() for url=/transitiveUpstreamProjects/...
      hudson.model.AbstractProject.getTransitiveDownstreamProjects() for url=/transitiveDownstreamProjects/...
      hudson.model.AbstractProject.getCustomWorkspace() for url=/customWorkspace/...
      hudson.model.Job.getProperties() for url=/properties/...
      hudson.model.Job.getACL() for url=/aCL/...
      hudson.model.Job.getWidgets() for url=/widgets/...
      hudson.model.Job.getOverrides() for url=/overrides/...
      hudson.model.Job.getTimeline() for url=/timeline/...
      hudson.model.Job.getBuilds() for url=/builds/...
      hudson.model.Job.getBuilds() for url=/builds/...
      hudson.model.Job.getBuildStatusUrl() for url=/buildStatusUrl/...
      hudson.model.Job.getCharacteristicEnvVars() for url=/characteristicEnvVars/...
      hudson.model.Job.getEstimatedDuration() for url=/estimatedDuration/...
      hudson.model.Job.getAllProperties() for url=/allProperties/...
      hudson.model.Job.getNextBuildNumber() for url=/nextBuildNumber/...
      hudson.model.Job.getLogRotator() for url=/logRotator/...
      hudson.model.Job.getNewBuilds() for url=/newBuilds/...
      hudson.model.Job.getBuildsAsMap() for url=/buildsAsMap/...
      hudson.model.Job.getLastSuccessfulBuild() for url=/lastSuccessfulBuild/...
      hudson.model.Job.getLastUnsuccessfulBuild() for url=/lastUnsuccessfulBuild/...
      hudson.model.Job.getLastUnstableBuild() for url=/lastUnstableBuild/...
      hudson.model.Job.getLastStableBuild() for url=/lastStableBuild/...
      hudson.model.Job.getLastFailedBuild() for url=/lastFailedBuild/...
      hudson.model.Job.getLastCompletedBuild() for url=/lastCompletedBuild/...
      hudson.model.Job.getPermalinks() for url=/permalinks/...
      hudson.model.Job.getBuildHealth() for url=/buildHealth/...
      hudson.model.Job.getBuildHealthReports() for url=/buildHealthReports/...
      hudson.model.Job.getBuildTimeGraph() for url=/buildTimeGraph/...
      hudson.model.AbstractItem.getName() for url=/name/...
      hudson.model.AbstractItem.getParent() for url=/parent/...
      hudson.model.AbstractItem.getParent() for url=/parent/...
      hudson.model.AbstractItem.getDisplayName() for url=/displayName/...
      hudson.model.AbstractItem.getDescription() for url=/description/...
      hudson.model.AbstractItem.getConfigFile() for url=/configFile/...
      hudson.model.AbstractItem.getFullName() for url=/fullName/...
      hudson.model.AbstractItem.getApi() for url=/api/...
      hudson.model.AbstractItem.getFullDisplayName() for url=/fullDisplayName/...
      hudson.model.AbstractItem.getSearchUrl() for url=/searchUrl/...
      hudson.model.AbstractItem.getRootDir() for url=/rootDir/...
      hudson.model.AbstractItem.getUrl() for url=/url/...
      hudson.model.AbstractItem.getSearchName() for url=/searchName/...
      hudson.model.AbstractItem.getShortUrl() for url=/shortUrl/...
      hudson.model.AbstractItem.getAbsoluteUrl() for url=/absoluteUrl/...
      hudson.model.AbstractItem.getDisplayNameOrNull() for url=/displayNameOrNull/...
      hudson.model.AbstractModelObject.getSearchIndex() for url=/searchIndex/...
      hudson.model.AbstractModelObject.getSearch() for url=/search/...
      java.lang.Object.getClass() for url=/class/...
      hudson.model.AbstractProject.getDelay(StaplerRequest) for url=/delay/...
      hudson.maven.MavenModuleSet.getItem(String) for url=/item/TOKEN/...
      hudson.maven.MavenModuleSet.getItem(String) for url=/item/TOKEN/...
      hudson.maven.MavenModuleSet.getModule(String) for url=/module/TOKEN/...
      hudson.model.AbstractProject.getBuild(String) for url=/build/TOKEN/...
      hudson.model.AbstractProject.getBuild(String) for url=/build/TOKEN/...
      hudson.model.Job.getProperty(String) for url=/property/TOKEN/...
      hudson.model.Job.getBuildForCLI(String) for url=/buildForCLI/TOKEN/...
      hudson.model.AbstractItem.getDescriptorByName(String) for url=/descriptorByName/TOKEN/...
      hudson.model.AbstractProject.getBuildByNumber(int) for url=/buildByNumber/N/...
      hudson.model.AbstractProject.getBuildByNumber(int) for url=/buildByNumber/N/...
      hudson.model.AbstractProject.getNearestBuild(int) for url=/nearestBuild/N/...
      hudson.model.AbstractProject.getNearestBuild(int) for url=/nearestBuild/N/...
      hudson.model.AbstractProject.getNearestOldBuild(int) for url=/nearestOldBuild/N/...
      hudson.model.AbstractProject.getNearestOldBuild(int) for url=/nearestOldBuild/N/...
      hudson.model.Actionable.getAction(int) for url=/action/N/...
      hudson.maven.MavenModuleSet.getDynamic(String,StaplerRequest,StaplerResponse) for url=/TOKEN/...
      

          [JENKINS-16194] Delete the oldest build but it still come up on HistoryWidget

          sogabe added a comment -

          sogabe added a comment - created https://github.com/jenkinsci/jenkins/pull/656

          Code changed in jenkins
          User: Seiji Sogabe
          Path:
          changelog.html
          http://jenkins-ci.org/commit/jenkins/7b175fc2bc63433c132fe19b5e3ce4b67938437f
          Log:
          record changelog for JENKINS-16194

          SCM/JIRA link daemon added a comment - Code changed in jenkins User: Seiji Sogabe Path: changelog.html http://jenkins-ci.org/commit/jenkins/7b175fc2bc63433c132fe19b5e3ce4b67938437f Log: record changelog for JENKINS-16194

          dogfood added a comment -

          Integrated in jenkins_main_trunk #2160
          [FIXED JENKINS-16194] Delete the oldest build but it still come up on HistoryWidget (Revision 2fd5fee6c0d3c65b0a1f3e763adab4ef3852bb33)
          record changelog for JENKINS-16194 (Revision 7b175fc2bc63433c132fe19b5e3ce4b67938437f)

          Result = SUCCESS
          Seiji Sogabe : 2fd5fee6c0d3c65b0a1f3e763adab4ef3852bb33
          Files :

          • core/src/main/java/hudson/model/AbstractBuild.java

          Seiji Sogabe : 7b175fc2bc63433c132fe19b5e3ce4b67938437f
          Files :

          • changelog.html

          dogfood added a comment - Integrated in jenkins_main_trunk #2160 [FIXED JENKINS-16194] Delete the oldest build but it still come up on HistoryWidget (Revision 2fd5fee6c0d3c65b0a1f3e763adab4ef3852bb33) record changelog for JENKINS-16194 (Revision 7b175fc2bc63433c132fe19b5e3ce4b67938437f) Result = SUCCESS Seiji Sogabe : 2fd5fee6c0d3c65b0a1f3e763adab4ef3852bb33 Files : core/src/main/java/hudson/model/AbstractBuild.java Seiji Sogabe : 7b175fc2bc63433c132fe19b5e3ce4b67938437f Files : changelog.html

          Code changed in jenkins
          User: Seiji Sogabe
          Path:
          core/src/main/java/hudson/model/AbstractBuild.java
          http://jenkins-ci.org/commit/jenkins/2fd5fee6c0d3c65b0a1f3e763adab4ef3852bb33
          Log:
          [FIXED JENKINS-16194] Delete the oldest build but it still come up on HistoryWidget

          SCM/JIRA link daemon added a comment - Code changed in jenkins User: Seiji Sogabe Path: core/src/main/java/hudson/model/AbstractBuild.java http://jenkins-ci.org/commit/jenkins/2fd5fee6c0d3c65b0a1f3e763adab4ef3852bb33 Log: [FIXED JENKINS-16194] Delete the oldest build but it still come up on HistoryWidget

          Code changed in jenkins
          User: Seiji Sogabe
          Path:
          core/src/main/java/hudson/model/AbstractBuild.java
          http://jenkins-ci.org/commit/jenkins/ff6ae9130015c1365610d5b6eee05a3e1736d935
          Log:
          Merge pull request #656 from ssogabe/JENKINS-16194

          JENKINS-16194 Delete the oldest build but it still come up on HistoryWidget

          SCM/JIRA link daemon added a comment - Code changed in jenkins User: Seiji Sogabe Path: core/src/main/java/hudson/model/AbstractBuild.java http://jenkins-ci.org/commit/jenkins/ff6ae9130015c1365610d5b6eee05a3e1736d935 Log: Merge pull request #656 from ssogabe/ JENKINS-16194 JENKINS-16194 Delete the oldest build but it still come up on HistoryWidget

          @sogabe Thanks for the fix. Would you mind checking whether this also fixes JENKINS-15838?

          Sebastian Schuberth added a comment - @sogabe Thanks for the fix. Would you mind checking whether this also fixes JENKINS-15838 ?

          Code changed in jenkins
          User: Jesse Glick
          Path:
          changelog.html
          core/src/main/java/hudson/model/AbstractBuild.java
          core/src/main/java/jenkins/model/lazy/AbstractLazyLoadRunMap.java
          test/src/test/groovy/hudson/model/AbstractBuildTest.groovy
          http://jenkins-ci.org/commit/jenkins/7ca4dc47ecff4c3eb3b8041e521fc076efc42767
          Log:
          [FIXED JENKINS-19920] Using selfReference to mean “none” from nextBuild/previousBuild was just asking for trouble.
          JENKINS-16194 and an analogous but opposite bug fixed more simply by introducing a separate NONE constant.
          Also numberOnDisk did not get updated properly after a build was deleted, causing double loading of build records in some cases.

          Compare: https://github.com/jenkinsci/jenkins/compare/ed03fbbc9d7a...7ca4dc47ecff

          SCM/JIRA link daemon added a comment - Code changed in jenkins User: Jesse Glick Path: changelog.html core/src/main/java/hudson/model/AbstractBuild.java core/src/main/java/jenkins/model/lazy/AbstractLazyLoadRunMap.java test/src/test/groovy/hudson/model/AbstractBuildTest.groovy http://jenkins-ci.org/commit/jenkins/7ca4dc47ecff4c3eb3b8041e521fc076efc42767 Log: [FIXED JENKINS-19920] Using selfReference to mean “none” from nextBuild/previousBuild was just asking for trouble. JENKINS-16194 and an analogous but opposite bug fixed more simply by introducing a separate NONE constant. Also numberOnDisk did not get updated properly after a build was deleted, causing double loading of build records in some cases. Compare: https://github.com/jenkinsci/jenkins/compare/ed03fbbc9d7a...7ca4dc47ecff

          Code changed in jenkins
          User: Jesse Glick
          Path:
          core/src/main/java/hudson/model/AbstractBuild.java
          core/src/main/java/jenkins/model/lazy/AbstractLazyLoadRunMap.java
          test/src/test/groovy/hudson/model/AbstractBuildTest.groovy
          http://jenkins-ci.org/commit/jenkins/3493bfa273a3d9cc7d22354cc2dc5c8e06bb4667
          Log:
          [FIXED JENKINS-19920] Using selfReference to mean “none” from nextBuild/previousBuild was just asking for trouble.
          JENKINS-16194 and an analogous but opposite bug fixed more simply by introducing a separate NONE constant.
          Also numberOnDisk did not get updated properly after a build was deleted, causing double loading of build records in some cases.
          (cherry picked from commit 7ca4dc47ecff4c3eb3b8041e521fc076efc42767)

          Conflicts:
          changelog.html

          Compare: https://github.com/jenkinsci/jenkins/compare/624395829bfd...3493bfa273a3

          SCM/JIRA link daemon added a comment - Code changed in jenkins User: Jesse Glick Path: core/src/main/java/hudson/model/AbstractBuild.java core/src/main/java/jenkins/model/lazy/AbstractLazyLoadRunMap.java test/src/test/groovy/hudson/model/AbstractBuildTest.groovy http://jenkins-ci.org/commit/jenkins/3493bfa273a3d9cc7d22354cc2dc5c8e06bb4667 Log: [FIXED JENKINS-19920] Using selfReference to mean “none” from nextBuild/previousBuild was just asking for trouble. JENKINS-16194 and an analogous but opposite bug fixed more simply by introducing a separate NONE constant. Also numberOnDisk did not get updated properly after a build was deleted, causing double loading of build records in some cases. (cherry picked from commit 7ca4dc47ecff4c3eb3b8041e521fc076efc42767) Conflicts: changelog.html Compare: https://github.com/jenkinsci/jenkins/compare/624395829bfd...3493bfa273a3

            sogabe sogabe
            sogabe sogabe
            Votes:
            0 Vote for this issue
            Watchers:
            5 Start watching this issue

              Created:
              Updated:
              Resolved: