-
Type:
Bug
-
Resolution: Won't Do
-
Priority:
Major
-
Component/s: maven-plugin
-
None
-
Environment:jenkins 2.556
Blue ocean 1.27.19
There's a problem yesterday where an user ran a job that the console log is over 6.4G.Ā He used blueocean to view test result, and happened to hit the Download Log button, and it failed to download.
However, it had huge memory allocations, and since the allocation is still needed, so it cannot be collected, and used up all 16G of what we set to the JVM.
From what we saw in a heapdump we took, the thread that is doing the allocationĀ
GET /blue/rest/organizations/jenkins/pipelines...../457/nodes/71/log
So this call is pulling the log, but for some reason however, it's this stack the allocates quite a bit of memory (11G in total)
at org.kohsuke.stapler.framework.io.CharSpool.renew()V (CharSpool.java:63)
at org.kohsuke.stapler.framework.io.CharSpool.write([CII)V (CharSpool.java:50)
at org.kohsuke.stapler.framework.io.WriterOutputStream.flushOutput()V (WriterOutputStream.java:90)
at org.kohsuke.stapler.framework.io.WriterOutputStream.decode(Z)V (WriterOutputStream.java:125)
at org.kohsuke.stapler.framework.io.WriterOutputStream.write([BII)V (WriterOutputStream.java:73)
at hudson.console.PlainTextConsoleOutputStream.eol([BI)V (PlainTextConsoleOutputStream.java:86)
at hudson.console.LineTransformationOutputStream.eol()V (LineTransformationOutputStream.java:69)
at hudson.console.LineTransformationOutputStream.write(I)V (LineTransformationOutputStream.java:62)
at hudson.console.LineTransformationOutputStream.write([BII)V (LineTransformationOutputStream.java:84)
at org.apache.commons.io.output.ProxyOutputStream.write([BII)V (ProxyOutputStream.java:217)
at org.kohsuke.stapler.framework.io.LargeText.writeLogUncounted(JLjava/io/OutputStream;)V (LargeText.java:292)
at org.kohsuke.stapler.framework.io.LargeText.writeLogTo(JLjava/io/OutputStream;)J (LargeText.java:264)
at hudson.console.AnnotatedLargeText.writeLogTo(JLjava/io/OutputStream;)J (AnnotatedLargeText.java:230)
at org.kohsuke.stapler.framework.io.LargeText.writeLogTo(JLjava/io/Writer;)J (LargeText.java:247)
at hudson.console.AnnotatedLargeText.writeLogTo(JLjava/io/Writer;)J (AnnotatedLargeText.java:215)
at io.jenkins.blueocean.rest.impl.pipeline.NodeLogResource.doIndex(Lorg/kohsuke/stapler/StaplerRequest2
Does anyone hit into the similar pattern before? Is there a way that we can disable the log download feature?Ā