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]
