Summary
spawn sagemaker processing hardcodes MaxRuntimeInSeconds = 86400 (24 hours) as both the default and effective cap. SageMaker Processing Jobs actually support up to 5 days (432,000 seconds). Long-running ML inference workloads (e.g. SAM ViT-H over 1655 Sentinel-2 tiles) regularly exceed 24 hours.
Current behavior
From internal/sagemaker/processing.go:
if cfg.MaxRuntimeSec == 0 {
cfg.MaxRuntimeSec = 86400 // 24 hours default
}
From cmd/sagemaker.go:
processingCmd.Flags().IntVar(&procMaxRuntime, "max-runtime", 86400, ...)
Jobs that exceed 24 hours are stopped with Status: Stopped and no failure reason — easy to mistake for a completion.
Requested changes
- Increase default to 172800 (48h) or document the 5-day max prominently
- Add
--max-runtime to the CLI help with the SageMaker limit documented (432000s = 5 days)
- Consider job chaining: when a job hits the runtime limit, store progress checkpoint to S3 and restart from where it left off
Context
Discovered running Tutorial 01 (SAM fairy circle detection) for BuckAI Observatory. The job processes 1173 Sentinel-2 tile pairs on 2× ml.g5.4xlarge and takes ~30+ hours. Workaround: pass --stopping-condition MaxRuntimeInSeconds=172800 directly via the AWS CLI, but this should be a first-class spawn sagemaker option.
Migrated from spore-host/spore-host#351 — spawn issues belong on this repo.
Summary
spawn sagemaker processinghardcodesMaxRuntimeInSeconds = 86400(24 hours) as both the default and effective cap. SageMaker Processing Jobs actually support up to 5 days (432,000 seconds). Long-running ML inference workloads (e.g. SAM ViT-H over 1655 Sentinel-2 tiles) regularly exceed 24 hours.Current behavior
From
internal/sagemaker/processing.go:From
cmd/sagemaker.go:Jobs that exceed 24 hours are stopped with
Status: Stoppedand no failure reason — easy to mistake for a completion.Requested changes
--max-runtimeto the CLI help with the SageMaker limit documented (432000s = 5 days)Context
Discovered running Tutorial 01 (SAM fairy circle detection) for BuckAI Observatory. The job processes 1173 Sentinel-2 tile pairs on 2×
ml.g5.4xlargeand takes ~30+ hours. Workaround: pass--stopping-condition MaxRuntimeInSeconds=172800directly via the AWS CLI, but this should be a first-classspawn sagemakeroption.Migrated from spore-host/spore-host#351 — spawn issues belong on this repo.