feat(job): Enable MTC at job submission stage#5997
Conversation
Summary of ChangesHello, I'm Gemini Code Assist1! I'm currently reviewing this pull request and will post my feedback shortly. In the meantime, here's a summary to help you and other reviewers quickly get up to speed! This pull request enables Multi-Tier Checkpointing (MTC) at the general job submission stage, moving it out of the Pathways-specific configuration. It introduces necessary CLI flags, adds cluster-level validation to ensure the GKE environment supports MTC, and updates the manifest generation logic to correctly provision required volumes and shared memory resources. Highlights
Using Gemini Code AssistThe full guide for Gemini Code Assist can be found on our documentation page, here are some quick tips. Invoking Gemini You can request assistance from Gemini at any point by creating a comment using either
Customization To customize the Gemini Code Assist for GitHub experience, repository maintainers can create a configuration file and/or provide a custom code review style guide (such as PEP-8 for Python) by creating and adding files to a Limitations & Feedback Gemini Code Assist may make mistakes. Please leave feedback on any instances where its feedback is incorrect or counterproductive. You can react with 👍 and 👎 on @gemini-code-assist comments. If you're interested in giving your feedback about your experience with Gemini Code Assist for GitHub and other Google products, sign up here. Footnotes
|
There was a problem hiding this comment.
Code Review
This pull request refactors Multi-Tier Checkpointing (MTC) support by promoting the CLI flags and configuration from Pathways-specific parameters to global job parameters (--mtc-enabled and --mtc-ramdisk-directory). This allows standard workloads to also leverage MTC. Feedback on the changes highlights two key issues: first, submitting a standard job with MTC enabled but without specifying a ramdisk directory results in an empty, invalid mountPath in the generated Kubernetes manifest, which needs a default fallback; second, the new global flag variables are not reset in resetSubmitCmdFlags(), which could lead to test pollution and flaky tests.
1081c1c to
842a381
Compare
047483f to
27ee6a6
Compare
|
/gemini review |
There was a problem hiding this comment.
Code Review
This pull request refactors Multi-Tier Checkpointing (MTC) support by promoting MTC flags (--mtc-enabled and --mtc-ramdisk-directory) from Pathways-specific configurations to global job submission flags. It updates the CLI, tests, documentation, and manifest generation logic to support this change, and introduces a validation check to ensure the HighScaleCheckpointing addon is enabled on the target GKE cluster when MTC is requested. Feedback suggests updating an error message in gke_job_orchestrator.go that still references the deprecated --pathways-mtc-enabled flag.
MTC volumes are dynamically generated by storage.go and injected into VolumeMountsYAML and VolumesYAML for both pathways and non-pathways jobs. The sidecar initContainer still uses hardcoded mounts as it intentionally bypasses the global VolumeMountsYAML block.
… to the GKE & Advanced Orchestration Flags table
This PR introduces support for Multi-Tier Checkpointing (MTC) at the job submission level and makes MTC flags globally available for all job types, rather than being restricted to Pathways workloads.
Key Changes
pathways_jobset.tmplto prevent duplicate volume mounting.Testing
gcluster job submit) and manifest generation on a live GKE cluster with theHighScaleCheckpointingaddon enabled.