[Feature] Backport: bring server-first OSS SDK migration + archive cleanup hardening + admin/runtime fixes from master to release/v1.9
- Dominant language
- Python
- Stars
- 485
- Forks
- 81
- Avg merge
- 16h 12m
- Merged PRs (30d)
- 8
Description
## Background
Six commits have landed on `master` since v1.9.3 was tagged that we
want available on the v1.9 release line. This issue tracks the
backport effort.
The selected commits fall into three groups:
### 1. Production correctness (sandbox archive cleanup)
- `17ca0f96e` fix(archive): self-healing cleanup for stale sb-archive
temp dirs
- `b5835bf2d` fix(archive): trap soft signals so EXIT cleanup fires on
SIGTERM/INT/HUP
The release/v1.9 archive task currently leaves stale `sb-archive-*`
temp dirs behind when the archive command is killed by SIGTERM/SIGINT/
SIGHUP, gradually exhausting disk on the admin pod. Both fixes are
self-contained and have unit-test coverage.
### 2. Admin operational fix
- `ae64723f8` fix(admin): guard FileCleanupTask Step 2 empty-dir delete
with -mmin
Without the `-mmin` guard, FileCleanupTask Step 2 deletes empty dirs
that were just created by a concurrent sandbox start, causing
intermittent "directory not found" errors on the next step.
### 3. SDK + scheduler features that already shipped on master
- `357682d84` Feat/fiber support cpu overcut 0521 (#1117)
- `474a223e9` feat(sdk-py): server-first OSS config + prefix-aware
object keys (hardened)
- `68419a3c7` feat(sdk-ts): server-first OSS config + prefix-aware
object keys (hardened) + perf
The two SDK migrations remove the env-vs-STS bucket drift that has
been causing 403 AccessDenied on chatos-rock uploads/downloads in
production. Without these on release/v1.9, any v1.9.x patch release
will still hit the 403.
## Goal
Cherry-pick the six commits above onto `release/v1.9` so the next
v1.9.x patch tag carries them.
## Out of scope
- Forward-port of `2f36421a3` (startup_timeout) to master — separate
issue.
- New features that have not landed on master.
## Acceptance criteria
- All six commits land on `release/v1.9` with patch-id-equivalent
content.
- pyproject.toml `version` stays at `1.9.3` (the cpu-overcut commit
was authored against 1.9.1; conflict resolved in favor of 1.9.3).
- Existing release/v1.9 unit/integration suites stay green.
Contributor guide
No contributing guide indexed for this repository
Research direction
Start on the release/v1.9 branch by reviewing the six listed commits and their existing unit-test coverage, including the SDK Python and TypeScript changes and archive/admin fixes. Cherry-pick the commits, resolve the noted pyproject.toml version conflict in favor of 1.9.3, then run the release/v1.9 unit and integration suites. Done means patch-equivalent content is present and all suites remain green.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- git, python, typescript
- Domain
- backend, devops, release
- Issue type
- Feature
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Quiet
- Clarity
- Clearly specified
- Newbie friendliness
- 45/100