alibaba / alibaba/ROCK

[Feature] Backport: bring server-first OSS SDK migration + archive cleanup hardening + admin/runtime fixes from master to release/v1.9

Open
#1,157 0 comments 0 reactions 0 assignees View on GitHub
enhancement
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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.