gharris1727 opened a new pull request, #14795:
URL: https://github.com/apache/kafka/pull/14795

   Jenkins truncates stdout/stderr from tests which exceed 100,000 bytes. This 
truncation is computed once per-suite, meaning that each suite gets a 100kb 
budget for logs, and suites that log too much have the middle of the log 
truncated. This unfairly discards complete logs for tests in the middle of the 
suite, while keeping logs from the beginning and end of the suite.
   
   If a failure occurs in a single test in the middle of a suite, the relevant 
logs may be completely elided, making investigation of the failure more 
difficult. This has made debugging with the CI logging almost completely 
ineffective, as the relevant logs are often swallowed by Jenkins, and 
irrelevant logs are shown.
   
   Instead, we can enable this feature in the Gradle JunitXmlReport: 
https://docs.gradle.org/current/javadoc/org/gradle/api/tasks/testing/JUnitXmlReport.html#setOutputPerTestCase-boolean-
   This changes the way that stdout/stderr is embedded in the XML report, 
separating the output for each test into different xml tags. This may enable 
Jenkins to perform truncation on a per-test basis, so that each test in a suite 
gets a fair distribution of the logging budget.
   
   This could increase the size of the logs persisted by Jenkins, as each suite 
is currently capped at 100kb, but after this change you could receive N*100kb 
logs overall, if there are N tests in the suite. However It appears that 
Jenkins cannot show the stdout for passing tests, so probably isn't capturing 
it (I couldn't find a configuration which would confirm this.) If this is true, 
that means that the size of logs persisted will only increase for test 
failures, when the additional logs would be useful.
   
   This change may also reduce the total amount of logs captured, since logs 
from tests that passed won't be kept when another test in the same suite fails. 
Regardless, the more effective usage of the logging budget will be beneficial 
even if the total amount of logs persisted increases.
   
   ### Committer Checklist (excluded from commit message)
   - [ ] Verify design and implementation 
   - [ ] Verify test coverage and CI build status
   - [ ] Verify documentation (including upgrade notes)
   


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]

Reply via email to