]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph-build.git/commitdiff
jenkins: enable Declarative script splitting to avoid 64KB method limit
authorDavid Galloway <david.galloway@ibm.com>
Tue, 7 Jul 2026 13:41:17 +0000 (09:41 -0400)
committerDavid Galloway <david.galloway@ibm.com>
Tue, 7 Jul 2026 13:41:17 +0000 (09:41 -0400)
The ceph-dev-pipeline matrix fails to compile with 'Method too large:
WorkflowScript.___cps___NNN' when new cells are added (e.g. noble debug
builds, #2622), because the Declarative RuntimeASTTransformer emits the
entire pipeline model as a single method. Extracting stage bodies into
helper functions (#2621) does not help since the per-cell model
boilerplate dominates.

Enable the script splitting transformation (JENKINS-37984), which
splits the generated model into multiple methods so no single one hits
the JVM's 64KB bytecode limit.

Signed-off-by: David Galloway <david.galloway@ibm.com>
ansible/roles/ansible-jenkins/templates/etc_default.j2

index b0302e9a85ac57949d90d55a2616bb25d2ec7c8b..852f10b236efc72889a916a02a32d3d5ee8bd0cd 100644 (file)
@@ -7,7 +7,7 @@ NAME=jenkins
 JAVA=/usr/bin/java
 
 # From https://jenkins.io/blog/2016/11/21/gc-tuning/
-JAVA_ARGS="-Xmx20g -Xms20g -Djava.awt.headless=true -Dhudson.model.User.SECURITY_243_FULL_DEFENSE=false -Dhudson.model.ParametersAction.keepUndefinedParameters=true -server -XX:+AlwaysPreTouch -Xloggc:/var/log/jenkins/gc-%t.log -XX:+PrintGC -XX:+PrintGCDetails -XX:+UseG1GC -XX:+ExplicitGCInvokesConcurrent -XX:+ParallelRefProcEnabled -XX:+UseStringDeduplication -XX:+UnlockExperimentalVMOptions -XX:G1NewSizePercent=20 -XX:+UnlockDiagnosticVMOptions -XX:G1SummarizeRSetStatsPeriod=1"
+JAVA_ARGS="-Xmx20g -Xms20g -Djava.awt.headless=true -Dhudson.model.User.SECURITY_243_FULL_DEFENSE=false -Dhudson.model.ParametersAction.keepUndefinedParameters=true -Dorg.jenkinsci.plugins.pipeline.modeldefinition.parser.RuntimeASTTransformer.SCRIPT_SPLITTING_TRANSFORMATION=true -server -XX:+AlwaysPreTouch -Xloggc:/var/log/jenkins/gc-%t.log -XX:+PrintGC -XX:+PrintGCDetails -XX:+UseG1GC -XX:+ExplicitGCInvokesConcurrent -XX:+ParallelRefProcEnabled -XX:+UseStringDeduplication -XX:+UnlockExperimentalVMOptions -XX:G1NewSizePercent=20 -XX:+UnlockDiagnosticVMOptions -XX:G1SummarizeRSetStatsPeriod=1"
 
 PIDFILE=/var/run/$NAME/$NAME.pid