refactor: clean app context fallback signatures (#3953)

This commit is contained in:
Zhengchao An
2026-06-27 18:30:06 +08:00
committed by GitHub
parent d66391636b
commit cdebdeca61
2 changed files with 83 additions and 112 deletions
+32 -13
View File
@@ -5,7 +5,7 @@ Status values: `[ ]` not started, `[~]` in progress, `[x]` complete, `[!]` block
## Current Context
- Issue: [`rustfs/backlog#660`](https://github.com/rustfs/backlog/issues/660)
- Branch: `overtrue/arch-runtime-optional-handle-fallback-removal`
- Branch: `overtrue/arch-runtime-context-fallback-signature-cleanup`
- Baseline: completed `C-011/C-012/C-013/API-055/API-059/API-079/API-080/API-081/API-082/API-083/API-084/API-085/API-086/API-087/API-088/API-089/API-090/API-091/API-092/API-093/API-094/API-095/API-096/API-097/API-098/API-099/API-100/API-101/API-102/API-103/API-104/API-105/API-106/API-107/API-108/API-109/API-110/API-111/API-112/API-113/API-114/API-115/API-116/API-117/API-118/API-119/API-120/API-121/API-122/API-123/API-124/API-125/API-126/API-127/API-128/API-129/API-130/API-131/API-132/API-133/API-134/API-135/API-136/API-137/API-138/API-139/API-140/API-141/API-142/API-143/API-144/API-145/API-146/API-147/API-148/API-149/API-150/API-151/API-152/API-153/API-154/API-155/API-156/API-157/API-158/API-159/API-160/API-161/API-162/API-163/API-164/API-165/API-166/API-167/API-168/API-169/API-170/API-171/API-172/API-173/API-174/API-175/API-176/API-177/API-178/API-179/API-180/API-181/API-182/API-183/API-184/API-185/API-186/API-187/API-188/API-189/API-190/API-191/API-192/API-193/API-194/API-195/API-196/API-197/API-198/API-199/API-200/API-201/API-202/API-203/API-204/API-205/API-206/API-207/API-208/API-209/API-210/API-211/API-212/API-213/API-214/API-215/API-216/API-217/API-218/API-219/API-220/API-221/API-222/API-223/API-224/API-225/API-226/API-227/API-228/API-229/API-230/API-231/API-232/API-233/API-234/API-235/API-236/API-237/API-238/API-239/API-240/API-241/API-242/API-243/API-244/API-245/API-246/API-247/API-248/API-249/API-250/API-251/API-252/API-253/API-254/CTX-002`.
- Current baseline also includes API-255 from PR #3923, API-256 from PR
#3925, CFG-009 from PR #3927, C-007/C-009 from PR #3935, C-008/C-010
@@ -19,20 +19,19 @@ Status values: `[ ]` not started, `[~]` in progress, `[x]` complete, `[!]` block
GLOB-007 app runtime facade consumer batch from PR #3947, the GLOB-007 core
runtime facade consumer batch from PR #3948, the GLOB-007 runtime facade
alias sweep from PR #3949, the GLOB-007 object-store fallback removal from
PR #3950, and the GLOB-007 notification-system/server-config fallback
removal from PR #3951.
- Current phase PR: GLOB-007 optional runtime handle fallback removal.
- Based on: `origin/main` after PR #3951 merged.
PR #3950, the GLOB-007 notification-system/server-config fallback removal
from PR #3951, and the GLOB-007 optional runtime handle fallback removal
from PR #3952.
- Current phase PR: GLOB-007 AppContext-only fallback signature cleanup.
- Based on: `origin/main` after PR #3952 merged.
- PR type for this branch: `ci-gate`.
- Runtime behavior changes: optional runtime reads for token signing key,
bucket metadata, endpoint pools, bucket monitor, replication handles, boot
time, deployment ID, lock clients, and region now require AppContext instead
of falling back to legacy globals.
- Rust code changes: remove the legacy global fallbacks from those optional
AppContext resolver families.
- Runtime behavior changes: none intended beyond the PR #3952 optional
no-context behavior.
- Rust code changes: remove stale fallback closure parameters from
AppContext-only resolver helpers for object-store, notification-system,
server-config, and optional runtime handles.
- CI/script changes: none intended.
- Docs changes: update this progress ledger for the optional handle fallback
removal.
- Docs changes: update this progress ledger for the fallback signature cleanup.
## Phase 0 Tasks
@@ -2820,6 +2819,9 @@ Status values: `[ ]` not started, `[~]` in progress, `[x]` complete, `[!]` block
handle/read resolvers for token signing key, bucket metadata, endpoints,
bucket monitor, replication handles, boot time, deployment ID, lock
clients, and region.
- Current slice: remove stale fallback closure parameters from
AppContext-only resolver helpers after their no-context behavior no longer
consults legacy globals.
- Remaining work: remove the next fallback family per PR only after scans
prove no production caller depends on it.
- Verification: focused RustFS compile and admin test-target compile,
@@ -6088,6 +6090,9 @@ Status values: `[ ]` not started, `[~]` in progress, `[x]` complete, `[!]` block
| Expert | Status | Notes |
|---|---|---|
| Quality/architecture | pass | GLOB-007 removes stale fallback closure parameters from resolver helpers whose no-context behavior is already AppContext-only, making hidden fallback reintroduction harder. |
| Migration preservation | pass | Public runtime facade names and return types stay unchanged; this is a signature cleanup for private helper paths and test coverage after PR #3952. |
| Testing/verification | pass | Focused resolver test passed; compile, formatting, architecture guard, fallback-parameter residual scan, diff hygiene, diff-added Rust risk scan, and full `make pre-pr` are required before PR. |
| Quality/architecture | pass | GLOB-007 removes a broad optional-handle resolver fallback batch, keeping absent AppContext from consulting legacy globals for token signing key, bucket metadata, endpoints, bucket monitor, replication, boot, deployment, lock, and region reads. |
| Migration preservation | pass | Action credentials, concrete default-returning runtime families, startup publishers, KMS/TLS/IAM readiness initialization, scanner metrics, S3 Select, local node name, tier config, expiry state, performance metrics, and buffer config fallbacks are intentionally left unchanged for later slices. |
| Testing/verification | pass | Focused RustFS compile/test, formatting, architecture guard, optional-handle fallback residual scan, diff hygiene, diff-added Rust risk scan, and full `make pre-pr` are required before PR. |
@@ -6475,6 +6480,20 @@ Status values: `[ ]` not started, `[~]` in progress, `[x]` complete, `[!]` block
Passed before push:
- Issue #660 GLOB-007 AppContext-only fallback signature cleanup:
- Branch freshness check: rebased onto `origin/main` after PR #3952 merged.
- `cargo test -p rustfs --lib app::context::tests::resolver_helpers_are_context_first_and_fallback_when_context_is_absent`:
passed.
- `cargo check -p rustfs --lib`: passed.
- `cargo fmt --all`: passed.
- `cargo fmt --all --check`: passed.
- `git diff --check`: passed.
- `./scripts/check_architecture_migration_rules.sh`: passed.
- AppContext-only fallback parameter residual scan: passed.
- Diff-added Rust risk scan: passed.
- Three-expert review: passed.
- `make pre-pr`: passed (`nextest`: 6917 passed, 112 skipped; doctests passed).
- Issue #660 GLOB-007 optional runtime handle fallback removal:
- Branch freshness check: rebased onto `origin/main` after PR #3951 merged.
- `cargo test -p rustfs --lib app::context::tests::resolver_helpers_are_context_first_and_fallback_when_context_is_absent`: