-
Bug
-
Resolution: Fixed
-
Major
-
jenkins core v2.43.3, v2.60.2, v2.89.2
pipeline v2.6
-
-
1.9
We recently had one of our production Jenkins masters nearly run out of disk space due to an over-allocation of log data by just a couple of jobs running on our farm. In fact, 2 such builds consumed nearly a half a terabyte for their build logs alone! Further, closer examination of those log files revealed that the data therein was being excessively bloated by what appears to be some sort of markup or metadata attached to each line in the build log that looks something like this:
^[[8mha:////4OsXDMICFQEJVGu5QN07bZyJAnhssncpc0tH8m8uvnrSAAAAaB+LCAAAAAAAAP9b85aBtbiIwTG/KF0vKzUvOzOvODlTryCnNB3I0ivPL8pOy8kv18vKT9JLzs8rzs9J1QuHCgaV5jlDhPzyS1IZIICRiYGhoohBKqM0pTg/D64Hh8ICAFt0h+h/AAAA^[[0m[Pipeline] node
To illustrate the problem I created a super trivial pipeline script as follows:
node { stage('first') { echo "hello world" } }
This simple example produced 5kb worth of build logs! To make matters worse, it appears as though the raw text (ie: excluding the markup) is also duplicated among several other .log files in the same folder as the main build log, causing even further bloat.
I am creating this issue in the hopes that (a) someone can explain what this extra log metadata is in the main build log of a pipeline build and (b) someone can suggest some way to either eliminate this bloat and superfluous duplication, or to at least offer some way to detect large build logs and perhaps truncate, purge or even prevent them by causing the build to fail. Really anything other than filling up the Jenkins home folder would be preferable.
- causes
-
JENKINS-56484 timestamper 1.9 breaks warnings-ng's ability to find source files
- Resolved
-
JENKINS-60007 Timestamper scripting API doesn't work for Pipeline jobs since version 1.9
- Closed
- is blocked by
-
JENKINS-44195 Add timestamps to Blue Ocean log
- Open
- is duplicated by
-
JENKINS-55257 Timestamper break builds on Windows agents
- Resolved
-
JENKINS-39079 Record timestamps for pipeline jobs without filling the log file with console notes
- Resolved
- relates to
-
JENKINS-45693 Ability to decorate Pipeline builds as a global extension
- Resolved
-
JENKINS-38381 [JEP-210] Optimize log handling in Pipeline and Durable Task
- Resolved
-
JENKINS-45661 NegativeArraySizeException at readFrom(ConsoleNote.java:240) while printing job's console output
- Resolved
-
JENKINS-54081 Timestamps missing for agent-based steps in Pipeline Job 2.26
- Resolved
-
JENKINS-58102 GlobalAnnotator does not annotate lines that are part of a multi-line color sequence
- Resolved
-
JENKINS-54133 No ANSI coloring on slave agents in pipeline
- Closed
-
JENKINS-51229 Log Discarder to delete log files generated by Jenkins pipeline scripts, but keep build information
- Open
- links to