This is an automated email from the ASF dual-hosted git repository.

asf-gitbox-commits pushed a commit to branch cassandra-5.0
in repository https://gitbox.apache.org/repos/asf/cassandra.git


The following commit(s) were added to refs/heads/cassandra-5.0 by this push:
     new a5bed1169a Reduce CI console logging
a5bed1169a is described below

commit a5bed1169a786fcb4f077c7ef6181af690570c31
Author: Brandon Williams <[email protected]>
AuthorDate: Thu Aug 27 09:35:30 2026 -0500

    Reduce CI console logging
    
    * dtest: pytest --log-cli-level=DEBUG dropped to INFO
    * Jenkinsfile: filter ant "Forking using command" classpath echoes
    
    Patch by brandonwilliams, reviewed by mck for CASSANDRA-21624
---
 .build/run-python-dtests.sh |  4 +++-
 .jenkins/Jenkinsfile        | 22 +++++++++++++++++++---
 2 files changed, 22 insertions(+), 4 deletions(-)

diff --git a/.build/run-python-dtests.sh b/.build/run-python-dtests.sh
index 8af989d7b4..642d7a795b 100755
--- a/.build/run-python-dtests.sh
+++ b/.build/run-python-dtests.sh
@@ -196,7 +196,9 @@ fi
 SPLIT_TESTS="${SPLIT_TESTS//$'\n'/ }"
 
 pytest_results_file="${DIST_DIR}/test/output/nosetests.xml"
-pytest_opts="-vv --log-cli-level=DEBUG --junit-xml=${pytest_results_file} 
--junit-prefix=${DTEST_TARGET} -s"
+# INFO (not DEBUG): the driver's reconnect loop logs full tracebacks at DEBUG, 
which
+#  floods the Jenkins console (tens of MB per cell) and the controller's 
in-memory step log
+pytest_opts="-vv --log-cli-level=INFO --junit-xml=${pytest_results_file} 
--junit-prefix=${DTEST_TARGET} -s"
 
 echo ""
 echo "pytest ${pytest_opts} --cassandra-dir=${CASSANDRA_DIR} 
--keep-failed-test-dir ${DTEST_ARGS} ${SPLIT_TESTS}" 
diff --git a/.jenkins/Jenkinsfile b/.jenkins/Jenkinsfile
index a8dfb37202..2ce19dfdd8 100644
--- a/.jenkins/Jenkinsfile
+++ b/.jenkins/Jenkinsfile
@@ -336,6 +336,22 @@ def isJdkEnabled(jdk) {
   return !params.jdk?.trim() || params.jdk.trim() == jdk
 }
 
+/**
+ * Noisy (but harmless) output lines, filtered from the in-memory console log.
+ * The full output is still saved in the archived stage log (build/*.log.xz),
+ * so this only trims what the controller holds in memory / renders in the UI.
+ **/
+def consoleNoiseFilters() {
+  return [
+    "Forking using command" // ant echoes the full forked classpath before 
every maven forked run
+  ]
+}
+
+// append a sed filter that drops lines matching consoleNoiseFilters() from a 
step's output
+def filterConsoleOutput(String script) {
+  return "${script} | sed -e " + consoleNoiseFilters().collect { "/${it}/d" 
}.join(" -e ")
+}
+
 /**
  * Renders build script into pipeline steps
  **/
@@ -363,7 +379,7 @@ def build(command, cell) {
             script_vars = "${script_vars} m2_dir=\'${WORKSPACE}/build/m2\'"
             timeout(time: 1, unit: 'HOURS') {
               try {
-                def status = sh label: "RUNNING ${cell.step}...", script: 
"${script_vars} ${build_script} ${cell.jdk} 2>&1 | tee >( xz -c > 
build/${logfile} )", returnStatus: true
+                def status = sh label: "RUNNING ${cell.step}...", script: 
filterConsoleOutput("${script_vars} ${build_script} ${cell.jdk} 2>&1 | tee >( 
xz -c > build/${logfile} )"), returnStatus: true
                 dir("build") {
                   archiveArtifacts artifacts: "${logfile}", fingerprint: true
                   copyToNightlies("${logfile}", 
"${cell.step}/jdk${cell.jdk}/${cell.arch}/")
@@ -428,7 +444,7 @@ def test(command, cell) {
               try {
                 buildJVMDTestJars(cell, script_vars, logfile)
                 script_vars = "${script_vars} 
docker_timeout_hours=\"${command.timeout_hours}\""
-                def status = sh label: "RUNNING TESTS ${cell.step}...", 
script: "${script_vars} .build/docker/run-tests.sh -a ${cell.step} -c 
'${cell.split}/${splits}' -j ${cell.jdk} 2>&1 | tee >( xz -c > build/${logfile} 
)", returnStatus: true
+                def status = sh label: "RUNNING TESTS ${cell.step}...", 
script: filterConsoleOutput("${script_vars} .build/docker/run-tests.sh -a 
${cell.step} -c '${cell.split}/${splits}' -j ${cell.jdk} 2>&1 | tee >( xz -c > 
build/${logfile} )"), returnStatus: true
                 dir("build") {
                   archiveArtifacts artifacts: "${logfile}", fingerprint: true
                 }
@@ -495,7 +511,7 @@ def buildJVMDTestJars(cell, script_vars, logfile) {
     try {
       unstash name: "jvm_dtests_${cell.arch}_${cell.jdk}"
     } catch (error) {
-      sh label: "RUNNING build_dtest_jars...", script: "${script_vars} 
.build/docker/run-tests.sh -a build_dtest_jars -j ${cell.jdk} 2>&1 | tee >( xz 
-c > build/${logfile} )"
+      sh label: "RUNNING build_dtest_jars...", script: 
filterConsoleOutput("${script_vars} .build/docker/run-tests.sh -a 
build_dtest_jars -j ${cell.jdk} 2>&1 | tee >( xz -c > build/${logfile} )")
       stash name: "jvm_dtests_${cell.arch}_${cell.jdk}", includes: 
'**/dtest*.jar'
     }
   }


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to