Skip to content

chore: Add k8s support to TPC benchmark runner [WIP]#3600

Draft
andygrove wants to merge 4 commits intoapache:mainfrom
andygrove:tpc-k8s
Draft

chore: Add k8s support to TPC benchmark runner [WIP]#3600
andygrove wants to merge 4 commits intoapache:mainfrom
andygrove:tpc-k8s

Conversation

@andygrove
Copy link
Member

Which issue does this PR close?

Closes #3537

Rationale for this change

Make it easier to run TPC benchmarks against a k8s cluster.

What changes are included in this PR?

How are these changes tested?

andygrove and others added 2 commits February 25, 2026 08:30
Move Docker Compose and Kubernetes sections into separate files
under benchmarks/tpc/docs/ to keep the main README focused on
core usage. Add a deployment options table linking to the new docs.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
@andygrove andygrove changed the title chore: Add k8s support to TPC benchmark runner chore: Add k8s support to TPC benchmark runner [WIP] Feb 25, 2026
In K8s cluster mode, JFR and async-profiler output files are lost when
ephemeral pods terminate. Add --profile-upload flag to upload profiling
directories to a remote path (e.g. s3a://) via Hadoop FileSystem API
before spark.stop() is called. Also skip os.makedirs for profiling dirs
in K8s mode since they exist inside the pod, not on the submitter.
Instead of uploading JARs at runtime via SPARK_UPLOAD_PATH, the Comet
JAR is now baked into the Docker image at /jars/comet.jar. In K8s mode,
--jars entries use the local:// URI scheme so Spark uses the pre-installed
JAR directly. All comet engine configs default COMET_JAR to /jars/comet.jar.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Add Kubernetes support to unified benchmark runner

1 participant