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

Logging all UpstreamCause's floods Jenkins in large setups

    Details

    • Similar Issues:

      Description

      In version 1.482 the feature "Report root causes of UpstreamCause in log and status pages" has been added. In certain scenarios (as stated below) this is absolutely not feasible because the amount of data logged per build might become dozens of megabytes. The result is that the jobs folder grows for several thousand builds in tens of gigabytes (within a couple of hours) which lets Jenkins hit memory limits and become unusable.

      Some more words on the scenario which shows that problem. We have a Jenkins instance with 30 executors, and about 5000 jobs. I think the specific thing is that these jobs are not independent (or slightly connected) but have a lot of up/downstream relationships. The problem is that when Jenkins hits one of the leaf jobs the list of hierarchic causes which triggered that job is tens of megabytes long (I am not attaching a full log I guess the content is pretty obvious). On the one hand because the nesting level is very high and on the other hand since there are several paths through the dependency graph.

      So there is an urgent need to optionally disable that feature. It basically makes Jenkins unusable in such scenarios.

        Attachments

          Issue Links

            Activity

            Hide
            dogfood dogfood added a comment -

            Integrated in jenkins_main_trunk #2233
            [FIXED JENKINS-15747] Avoid recording too many upstream causes at any depth. (Revision d506b32f1fbaab6fd055cd5c430c764dc887e8f4)

            Result = UNSTABLE
            Jesse Glick : d506b32f1fbaab6fd055cd5c430c764dc887e8f4
            Files :

            • test/src/test/java/hudson/model/CauseTest.java
            • core/src/main/java/hudson/model/Cause.java
            • changelog.html
            Show
            dogfood dogfood added a comment - Integrated in jenkins_main_trunk #2233 [FIXED JENKINS-15747] Avoid recording too many upstream causes at any depth. (Revision d506b32f1fbaab6fd055cd5c430c764dc887e8f4) Result = UNSTABLE Jesse Glick : d506b32f1fbaab6fd055cd5c430c764dc887e8f4 Files : test/src/test/java/hudson/model/CauseTest.java core/src/main/java/hudson/model/Cause.java changelog.html
            Hide
            dogfood dogfood added a comment -

            Integrated in jenkins_main_trunk #2234
            JENKINS-15747 Comment about possible improvement to console logging. (Revision 8b1df85fdbe344543ec03d2af7f98d21498962f0)
            JENKINS-15747 Improved fix: not only cap total number of transitive upstream causes but also avoid redundantly storing information about upstream causes listed elsewhere. (Revision 302140b2c69442e81f7b0b2af9d6e39277ac5674)

            Result = SUCCESS
            Jesse Glick : 8b1df85fdbe344543ec03d2af7f98d21498962f0
            Files :

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

            Jesse Glick : 302140b2c69442e81f7b0b2af9d6e39277ac5674
            Files :

            • core/src/main/java/hudson/model/Cause.java
            Show
            dogfood dogfood added a comment - Integrated in jenkins_main_trunk #2234 JENKINS-15747 Comment about possible improvement to console logging. (Revision 8b1df85fdbe344543ec03d2af7f98d21498962f0) JENKINS-15747 Improved fix: not only cap total number of transitive upstream causes but also avoid redundantly storing information about upstream causes listed elsewhere. (Revision 302140b2c69442e81f7b0b2af9d6e39277ac5674) Result = SUCCESS Jesse Glick : 8b1df85fdbe344543ec03d2af7f98d21498962f0 Files : core/src/main/java/hudson/model/StreamBuildListener.java Jesse Glick : 302140b2c69442e81f7b0b2af9d6e39277ac5674 Files : core/src/main/java/hudson/model/Cause.java
            Hide
            dthomas Dirk Thomas added a comment -

            We are currently using Jenkins 1.548 and it looks like this bug has reappeared.

            Please see one of our jobs which has a 100MB build log due to repeated logging of all upstream causes.

            Can this ticket be reopened or should I fill a new one?

            Show
            dthomas Dirk Thomas added a comment - We are currently using Jenkins 1.548 and it looks like this bug has reappeared. Please see one of our jobs which has a 100MB build log due to repeated logging of all upstream causes. Can this ticket be reopened or should I fill a new one?
            Hide
            jglick Jesse Glick added a comment -

            @dthomas file a separate bug (linked to this) with a test case to reproduce.

            Show
            jglick Jesse Glick added a comment - @dthomas file a separate bug (linked to this) with a test case to reproduce.
            Hide
            dthomas Dirk Thomas added a comment -
            Show
            dthomas Dirk Thomas added a comment - I filled a new ticket: https://issues.jenkins-ci.org/browse/JENKINS-21605

              People

              • Assignee:
                Unassigned
                Reporter:
                dthomas Dirk Thomas
              • Votes:
                1 Vote for this issue
                Watchers:
                6 Start watching this issue

                Dates

                • Created:
                  Updated:
                  Resolved: