mirror of
https://github.com/rustfs/rustfs.git
synced 2026-08-06 13:27:43 +00:00
refactor(runtime): route RustFS runtime consumers through storage owner (#3756)
This commit is contained in:
@@ -5,16 +5,20 @@ 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-test-fuzz-owner-symbols`
|
||||
- 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`.
|
||||
- Based on: API-134 slice.
|
||||
- Branch: `overtrue/arch-runtime-crate-ecstore-thin-bridges`
|
||||
- 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`.
|
||||
- Based on: API-150 stacked slice.
|
||||
- PR type for this branch: `pure-move`
|
||||
- Runtime behavior changes: none.
|
||||
- Rust code changes: replace e2e, heal/scanner integration-test, and fuzz-target
|
||||
ECStore owner module aliases with explicit symbols.
|
||||
- CI/script changes: treat the completed test/fuzz files as explicit-symbol
|
||||
boundaries and reject restored `ecstore_*` module aliases there.
|
||||
- Docs changes: record the API-135 test/fuzz owner facade symbol cleanup.
|
||||
- Rust code changes: remove the thin notify/obs/swift/s3select ECStore
|
||||
compatibility bridge files and keep their ECStore source imports at each
|
||||
owner root.
|
||||
- CI/script changes: lock completed owner and test/fuzz boundaries against
|
||||
bare/glob imports, scattered raw ECStore facade subpaths, and startup
|
||||
runtime/root-server/table/S3/app shared/app bucket/app ECStore/admin facade
|
||||
regressions, plus external runtime, test, fuzz, and storage-owner module
|
||||
ECStore compatibility bypasses, plus runtime crate thin bridge regressions.
|
||||
- Docs changes: record the 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 owner facade cleanup.
|
||||
|
||||
## Phase 0 Tasks
|
||||
|
||||
@@ -3938,6 +3942,255 @@ Status values: `[ ]` not started, `[~]` in progress, `[x]` complete, `[!]` block
|
||||
diff hygiene, Rust risk scan, branch freshness check, pre-commit quality
|
||||
gate, and three-expert review.
|
||||
|
||||
- [x] `API-136` Replace RustFS runtime owner module aliases with symbols.
|
||||
- Do: replace RustFS app/admin/storage owner-root `ecstore_*` facade aliases
|
||||
with owner-local curated symbol modules that expose only the ECStore
|
||||
submodules, functions, types, and constants consumed by those runtime
|
||||
boundaries.
|
||||
- Acceptance: `rustfs/src/app/mod.rs`, `rustfs/src/admin/mod.rs`, and
|
||||
`rustfs/src/storage/mod.rs` no longer import broad ECStore facade modules
|
||||
as `ecstore_*`; migration guards reject reintroducing those broad aliases.
|
||||
- Must preserve: app object/lifecycle/replication helpers, admin config,
|
||||
metrics, tiering, rebalance helpers, storage S3/RPC metadata helpers, and
|
||||
startup/server consumers of the storage owner boundary.
|
||||
- Verification: focused RustFS compile, runtime owner alias residual scan,
|
||||
migration/layer guards, formatting, diff hygiene, Rust risk scan, branch
|
||||
freshness check, pre-commit quality gate, and three-expert review.
|
||||
|
||||
- [x] `API-137` Guard completed owner facade import shapes.
|
||||
- Do: extend migration rules so completed owner and test/fuzz boundaries
|
||||
cannot reintroduce bare `rustfs_ecstore::api::<module>` imports or glob
|
||||
facade imports.
|
||||
- Acceptance: completed owner roots and completed test/fuzz boundaries keep
|
||||
explicit symbol imports, type aliases, constants, or wrappers; migration
|
||||
guards reject bare module and glob facade imports.
|
||||
- Must preserve: all API-136 RustFS owner symbol boundaries, API-135 test/fuzz
|
||||
direct symbol imports, and external owner root symbol imports.
|
||||
- Verification: architecture migration guard, shell syntax check, formatting,
|
||||
diff hygiene, branch freshness check, and three-expert review.
|
||||
|
||||
- [x] `API-138` Centralize completed owner raw facade subpaths.
|
||||
- Do: move completed notify and S3 Select owner wrapper raw ECStore facade
|
||||
calls into explicit import declarations, then guard completed owner and
|
||||
test/fuzz boundaries against raw facade subpaths outside import
|
||||
declarations.
|
||||
- Acceptance: completed owner and test/fuzz files keep raw ECStore facade
|
||||
subpaths centralized at import declarations; wrapper bodies use local
|
||||
aliases, constants, or functions.
|
||||
- Must preserve: notify config read/save wrappers, S3 Select object-store
|
||||
handle/error helpers, default read-buffer constant, and all existing public
|
||||
crate APIs.
|
||||
- Verification: focused notify/S3 Select compile, architecture migration
|
||||
guard, shell syntax check, formatting, diff hygiene, Rust risk scan, branch
|
||||
freshness check, and three-expert review.
|
||||
|
||||
- [x] `API-139` Route startup runtime consumers through storage owner symbols.
|
||||
- Do: expose storage-owner aliases and wrappers for startup layout, global
|
||||
endpoint/region state, local disk initialization, config initialization,
|
||||
background replication, and notification setup, then migrate startup
|
||||
runtime files away from `ecstore_*` owner-module consumers.
|
||||
- Acceptance: `startup_notification`, `startup_fs_guard`, `startup_services`,
|
||||
`startup_server`, and `startup_storage` use storage-owner symbols and
|
||||
wrappers instead of `crate::storage::ecstore_*` modules; migration guards
|
||||
reject restoring those module consumers.
|
||||
- Must preserve: endpoint parsing, unsupported-filesystem policy checks,
|
||||
global endpoint/erasure state setup, local disk and lock-client
|
||||
initialization, config migration/retry behavior, readiness marking,
|
||||
background replication start, region/port registration, and notification
|
||||
initialization.
|
||||
- Verification: focused RustFS test-target compile, migration guard, shell
|
||||
syntax check, formatting, diff hygiene, Rust risk scan, branch freshness
|
||||
check, and three-expert review.
|
||||
|
||||
- [x] `API-140` Route server/capacity/workload consumers through storage owner symbols.
|
||||
- Do: expose storage-owner symbols for local disk enumeration, disk endpoint
|
||||
labels, RPC signature prefix/verification, bucket metadata runtime state,
|
||||
replication pool access, and replication queue counts, then migrate
|
||||
server, capacity, and workload-admission consumers away from `ecstore_*`
|
||||
owner modules.
|
||||
- Acceptance: `server/http.rs`, `capacity/service.rs`, and
|
||||
`workload_admission.rs` use storage-owner symbols and wrappers instead of
|
||||
`crate::storage::ecstore_*` modules; migration guards reject restoring
|
||||
those module consumers.
|
||||
- Must preserve: internode RPC signature verification, active HTTP request
|
||||
metrics, capacity manager disk discovery/labels, metadata workload state,
|
||||
replication active/queue counts, and all storage-owner backend calls.
|
||||
- Verification: focused RustFS test-target compile, migration guard, shell
|
||||
syntax check, formatting, diff hygiene, Rust risk scan, branch freshness
|
||||
check, and three-expert review.
|
||||
|
||||
- [x] `API-141` Route root/server runtime consumers through storage owner symbols.
|
||||
- Do: expose storage-owner aliases and wrappers for notification config,
|
||||
topology capability mapping, readiness globals, event dispatch hook
|
||||
installation, module-switch config persistence, endpoint test builders,
|
||||
and quota/error types, then migrate remaining root/server runtime
|
||||
consumers away from `ecstore_*` owner modules.
|
||||
- Acceptance: `init.rs`, `runtime_capabilities.rs`, `server/readiness.rs`,
|
||||
`server/event.rs`, `server/module_switch.rs`, and `error.rs` use
|
||||
storage-owner symbols and wrappers instead of
|
||||
`crate::storage::ecstore_*` modules; migration guards reject restoring
|
||||
those module consumers.
|
||||
- Must preserve: bucket notification preload behavior, topology capability
|
||||
labels, runtime readiness lock-quorum checks, live event dispatch,
|
||||
module-switch persistence semantics, S3 error conversion, and test
|
||||
endpoint construction.
|
||||
- Verification: focused RustFS test-target compile, migration guard, shell
|
||||
syntax check, formatting, diff hygiene, Rust risk scan, branch freshness
|
||||
check, and three-expert review.
|
||||
|
||||
- [x] `API-142` Route table/S3/startup consumers through storage owner symbols.
|
||||
- Do: expose storage-owner constants, aliases, and wrappers for table catalog
|
||||
metadata roots, catalog path hashing, metadata lookup, lock timeout,
|
||||
shutdown, bucket metadata migration/init, S3 etag conversion, and config
|
||||
test disk layout parsing, then migrate the remaining table/S3/startup
|
||||
consumers away from `ecstore_*` owner modules.
|
||||
- Acceptance: `startup_bucket_metadata.rs`, `startup_shutdown.rs`,
|
||||
`table_catalog.rs`, `storage/s3_api/bucket.rs`,
|
||||
`storage/s3_api/multipart.rs`, and `config/config_test.rs` use
|
||||
storage-owner symbols and wrappers instead of
|
||||
`crate::storage::ecstore_*` modules; migration guards reject restoring
|
||||
those module consumers.
|
||||
- Must preserve: startup bucket metadata and IAM migration order,
|
||||
replication resync initialization, background-service shutdown, S3 ETag
|
||||
rendering, table catalog reserved paths and metadata hash layout,
|
||||
table-bucket mutation guard behavior, catalog lock acquisition timeout,
|
||||
and config test disk-layout parsing.
|
||||
- Verification: focused RustFS test-target compile, migration guard, shell
|
||||
syntax check, formatting, diff hygiene, Rust risk scan, branch freshness
|
||||
check, and three-expert review.
|
||||
|
||||
- [x] `API-143` Route app shared runtime facade through storage owner symbols.
|
||||
- Do: expose storage-owner aliases and wrappers for app-shared ECStore,
|
||||
endpoint layout, rio readers, notification access, global object-store
|
||||
resolver, shared error helpers, storage-class validation, and test local
|
||||
disk initialization, then migrate the duplicate app facade entries to
|
||||
delegate to storage-owner symbols.
|
||||
- Acceptance: `rustfs/src/app/mod.rs` delegates shared IO/error/global/
|
||||
notification/storage wrappers to `crate::storage` owner symbols instead
|
||||
of duplicate `ecstore_*` calls; migration guards reject restoring those
|
||||
duplicate calls.
|
||||
- Must preserve: app context resolution, object-store resolver fallback,
|
||||
notification system access, rio reader boxing/wrapping, lock timeout,
|
||||
storage-class validation, S3 ETag rendering, and app test disk setup.
|
||||
- Verification: focused RustFS test-target compile, migration guard, shell
|
||||
syntax check, formatting, diff hygiene, Rust risk scan, branch freshness
|
||||
check, and three-expert review.
|
||||
|
||||
- [x] `API-144` Route app bucket facade source imports through storage owner re-exports.
|
||||
- Do: expose bucket target/lifecycle/target, client transition API, and
|
||||
storageclass through storage owner re-exports, then source the app bucket,
|
||||
client, and config facade entries through `crate::storage`.
|
||||
- Acceptance: `rustfs/src/app/mod.rs` no longer imports direct
|
||||
`rustfs_ecstore::api::{bucket,client,config}::` source paths; migration
|
||||
guards reject restoring those direct source paths.
|
||||
- Must preserve: bucket target, lifecycle, metadata, object lock,
|
||||
policy/quota/replication/tagging/target/versioning, transition reader, and
|
||||
storageclass compatibility paths.
|
||||
- Verification: focused RustFS test-target compile, migration guard, shell
|
||||
syntax check, formatting, diff hygiene, Rust risk scan, branch freshness
|
||||
check, pre-commit, and three-expert review.
|
||||
|
||||
- [x] `API-145` Route remaining app facade ECStore source imports through storage owner re-exports.
|
||||
- Do: expose app-needed admin, capacity, compression, data-usage, global, and
|
||||
tier modules through storage owner re-exports, then source the remaining
|
||||
app facade entries through `crate::storage`.
|
||||
- Acceptance: `rustfs/src/app/mod.rs` contains no direct
|
||||
`rustfs_ecstore::api::` source imports; migration guards reject restoring
|
||||
any direct ECStore API source path in the app facade.
|
||||
- Must preserve: server info, pool capacity summaries, compression checks,
|
||||
bucket usage memory accounting, global tier manager access, and tier
|
||||
config/warm backend compatibility paths.
|
||||
- Verification: focused RustFS test-target compile, migration guard, shell
|
||||
syntax check, formatting, diff hygiene, Rust risk scan, branch freshness
|
||||
check, pre-commit, and three-expert review.
|
||||
|
||||
- [x] `API-146` Route admin facade ECStore source imports through storage owner re-exports.
|
||||
- Do: expose admin-needed bucket, capacity, client, config, data-usage, disk,
|
||||
error, global, layout, metrics, notification, rebalance, RPC, storage, and
|
||||
tier symbols through storage owner re-exports, then source the admin facade
|
||||
through `crate::storage`.
|
||||
- Acceptance: `rustfs/src/admin/mod.rs` contains no direct
|
||||
`rustfs_ecstore::api::` source imports; migration guards reject restoring
|
||||
any direct ECStore API source path in the admin facade.
|
||||
- Must preserve: admin handler utilities, bucket controls, storage class
|
||||
updates, data usage reads, cluster/global metadata, metrics/notification
|
||||
views, rebalance status, peer RPC, ECStore handle, and tier admin paths.
|
||||
- Verification: focused RustFS test-target compile, migration guard, shell
|
||||
syntax check, formatting, diff hygiene, Rust risk scan, branch freshness
|
||||
check, pre-commit, and three-expert review.
|
||||
|
||||
- [x] `API-147` Route external runtime crate ECStore source imports through local compatibility boundaries.
|
||||
- Do: move direct ECStore facade source imports in notify, observability
|
||||
metrics, S3 Select, Swift, IAM, heal, and scanner runtime entry modules
|
||||
into crate-local `ecstore_compat` modules while preserving existing
|
||||
wrappers and aliases at each crate boundary.
|
||||
- Acceptance: target runtime crate source directories contain no direct
|
||||
`rustfs_ecstore::api::` source paths outside `ecstore_compat.rs`; migration
|
||||
guards reject restoring those bypasses.
|
||||
- Must preserve: notify config persistence and object-store resolution,
|
||||
observability storage/ILM/replication metrics, S3 Select storage error
|
||||
mapping and object reads, Swift metadata/object-store access, IAM config
|
||||
and notification behavior, heal disk wrappers, and scanner lifecycle/disk
|
||||
runtime wrappers.
|
||||
- Verification: focused external crate compile, migration guard, shell syntax
|
||||
check, formatting, diff hygiene, Rust risk scan, branch freshness check,
|
||||
pre-commit, and three-expert review.
|
||||
|
||||
- [x] `API-148` Route external test ECStore source imports through local compatibility boundaries.
|
||||
- Do: move direct ECStore facade source imports in heal integration tests,
|
||||
scanner lifecycle tests, and e2e reliant/replication helpers into local
|
||||
`ecstore_test_compat` modules while preserving existing test aliases and
|
||||
helper call paths.
|
||||
- Acceptance: target external test/e2e paths contain no direct
|
||||
`rustfs_ecstore::api::` source paths outside `ecstore_test_compat.rs`;
|
||||
migration guards reject restoring those bypasses.
|
||||
- Must preserve: heal endpoint setup and resume disk types, scanner
|
||||
lifecycle transition setup, e2e node RPC client helpers, and replication
|
||||
bucket target cleanup behavior.
|
||||
- Verification: focused test-target compile, migration guard, shell syntax
|
||||
check, formatting, diff hygiene, Rust risk scan, branch freshness check,
|
||||
pre-commit, and three-expert review.
|
||||
|
||||
- [x] `API-149` Route fuzz ECStore source imports through a local compatibility boundary.
|
||||
- Do: move direct ECStore facade source imports in bucket validation and path
|
||||
containment fuzz targets into `ecstore_fuzz_compat` wrapper functions.
|
||||
- Acceptance: fuzz targets contain no direct `rustfs_ecstore::api::` source
|
||||
paths outside `ecstore_fuzz_compat.rs`; migration guards reject restoring
|
||||
those bypasses.
|
||||
- Must preserve: bucket/object validation fuzz semantics, meta bucket
|
||||
compatibility checks, object prefix/path component validation, and root
|
||||
containment assertions.
|
||||
- Verification: focused fuzz compile, migration guard, shell syntax check,
|
||||
formatting, diff hygiene, Rust risk scan, branch freshness check,
|
||||
pre-commit, and three-expert review.
|
||||
|
||||
- [x] `API-150` Move storage owner ECStore source imports into a compatibility module.
|
||||
- Do: move the storage owner `ecstore_*` facade source modules out of
|
||||
`rustfs/src/storage/mod.rs` and into `rustfs/src/storage/ecstore_compat.rs`.
|
||||
- Acceptance: `rustfs/src/storage/mod.rs` contains no direct
|
||||
`rustfs_ecstore::api::` source paths, while existing `crate::storage::*`
|
||||
aliases and helper functions keep their public shape.
|
||||
- Must preserve: storage owner type aliases, constants, wrapper functions,
|
||||
disk RPC extension traits, bucket metadata helpers, runtime globals, and
|
||||
startup storage wiring.
|
||||
- Verification: RustFS compile coverage, migration guard, shell syntax check,
|
||||
formatting, diff hygiene, Rust risk scan, branch freshness check,
|
||||
pre-commit, and three-expert review.
|
||||
|
||||
- [x] `API-151` Collapse thin runtime crate ECStore compatibility bridges.
|
||||
- Do: remove the thin `ecstore_compat.rs` files from notify, obs metrics,
|
||||
Swift, and S3 Select, moving their aliases and wrappers to the owner root
|
||||
modules.
|
||||
- Acceptance: those crates no longer declare local `ecstore_compat` modules,
|
||||
while their public/internal owner-root aliases and wrapper functions keep
|
||||
the same call paths for downstream modules.
|
||||
- Must preserve: notify server-config IO, metrics data/quota/replication
|
||||
reads, S3 Select object-reader/error mapping, and Swift bucket metadata and
|
||||
object reader aliases.
|
||||
- Verification: focused runtime crate compile coverage, migration guard,
|
||||
shell syntax check, formatting, diff hygiene, Rust risk scan, branch
|
||||
freshness check, pre-commit, and three-expert review.
|
||||
|
||||
## Next PRs
|
||||
|
||||
1. `pure-move`: continue pruning remaining facade compatibility and owner boundaries.
|
||||
@@ -3946,14 +4199,213 @@ Status values: `[ ]` not started, `[~]` in progress, `[x]` complete, `[!]` block
|
||||
|
||||
| Expert | Status | Notes |
|
||||
|---|---|---|
|
||||
| Quality/architecture | pass | API-135 replaces e2e, heal/scanner integration-test, and fuzz-target ECStore owner module aliases with explicit imported symbols. |
|
||||
| Migration preservation | pass | RPC client construction, replication target access, heal ECStore setup, scanner lifecycle/tier/transition paths, and fuzz validation call targets keep the same ECStore facade symbols. |
|
||||
| Testing/verification | pass | Focused e2e/heal/scanner compile, fuzz manifest compile, completed test/fuzz alias residual scan, migration/layer guards, formatting, diff hygiene, full pre-commit, and diff-only Rust risk scan passed. |
|
||||
| Quality/architecture | pass | API-151 removes thin runtime crate ECStore bridge files and keeps the remaining source imports at owner roots. |
|
||||
| Migration preservation | pass | Notify, obs metrics, Swift, and S3 Select keep the same owner-root aliases and wrappers for existing consumers. |
|
||||
| Testing/verification | pass | Focused runtime crate compile, formatting, migration guard, shell syntax, diff hygiene, Rust risk scan, and pre-commit passed for API-151. |
|
||||
|
||||
## Verification Notes
|
||||
|
||||
Passed before push:
|
||||
|
||||
- Issue #660 API-151 current slice:
|
||||
- `cargo check -p rustfs-notify -p rustfs-obs -p rustfs-s3select-api -p rustfs-protocols`:
|
||||
passed.
|
||||
- `cargo fmt --all`: passed.
|
||||
- `cargo fmt --all --check`: passed.
|
||||
- `git diff --check`: passed.
|
||||
- `bash -n scripts/check_architecture_migration_rules.sh`: passed.
|
||||
- `./scripts/check_architecture_migration_rules.sh`: passed.
|
||||
- `make pre-commit`: passed.
|
||||
- Runtime thin bridge scan: passed; notify, obs metrics, Swift, and S3
|
||||
Select no longer declare local `ecstore_compat` modules.
|
||||
- Rust risk scan: no new production unwrap/expect, casts, panic/todo/unsafe,
|
||||
or error-type risks added; changes only move import/source boundaries.
|
||||
|
||||
- Issue #660 API-140 current slice:
|
||||
- `cargo check --tests -p rustfs`: passed.
|
||||
- `cargo fmt --all`: passed.
|
||||
- `cargo fmt --all --check`: passed.
|
||||
- `git diff --check`: passed.
|
||||
- `bash -n scripts/check_architecture_migration_rules.sh`: passed.
|
||||
- `./scripts/check_architecture_migration_rules.sh`: passed.
|
||||
- Rust risk scan: no new production unwrap/expect, casts, panic/todo/unsafe,
|
||||
or error-type risks added; existing capacity metrics casts, HTTP atomic
|
||||
relaxed counters, and HTTP test unwrap/expect calls remain unchanged.
|
||||
|
||||
- Issue #660 API-141 current slice:
|
||||
- `cargo check --tests -p rustfs`: passed.
|
||||
- `cargo fmt --all`: passed.
|
||||
- `cargo fmt --all --check`: passed.
|
||||
- `git diff --check`: passed.
|
||||
- `bash -n scripts/check_architecture_migration_rules.sh`: passed.
|
||||
- `./scripts/check_architecture_migration_rules.sh`: passed.
|
||||
- `make pre-commit`: passed.
|
||||
- Rust risk scan: no new production unwrap/expect, casts, panic/todo/unsafe,
|
||||
or error-type risks added; only import aliases were reported by the textual
|
||||
`as` scan.
|
||||
|
||||
- Issue #660 API-142 current slice:
|
||||
- `cargo check --tests -p rustfs`: passed.
|
||||
- `cargo fmt --all`: passed.
|
||||
- `cargo fmt --all --check`: passed.
|
||||
- `git diff --check`: passed.
|
||||
- `bash -n scripts/check_architecture_migration_rules.sh`: passed.
|
||||
- `./scripts/check_architecture_migration_rules.sh`: passed.
|
||||
- `make pre-commit`: passed.
|
||||
- Rust risk scan: no new production unwrap/expect, casts, panic/todo/unsafe,
|
||||
or error-type risks added; only type/import aliases were reported by the
|
||||
textual `as` scan.
|
||||
|
||||
- Issue #660 API-143 current slice:
|
||||
- `cargo check --tests -p rustfs`: passed.
|
||||
- `cargo fmt --all`: passed.
|
||||
- `cargo fmt --all --check`: passed.
|
||||
- `git diff --check`: passed.
|
||||
- `bash -n scripts/check_architecture_migration_rules.sh`: passed.
|
||||
- `./scripts/check_architecture_migration_rules.sh`: passed.
|
||||
- `make pre-commit`: passed.
|
||||
- Rust risk scan: no new production unwrap/expect, casts, panic/todo/unsafe,
|
||||
or error-type risks added; only existing `DiskResult<Vec<String>>`
|
||||
textual matches were reported by the broad error-type scan.
|
||||
|
||||
- Issue #660 API-144 current slice:
|
||||
- `cargo check --tests -p rustfs`: passed.
|
||||
- `cargo fmt --all`: passed.
|
||||
- `cargo fmt --all --check`: passed.
|
||||
- `git diff --check`: passed.
|
||||
- `bash -n scripts/check_architecture_migration_rules.sh`: passed.
|
||||
- `./scripts/check_architecture_migration_rules.sh`: passed.
|
||||
- `make pre-commit`: passed.
|
||||
- Rust risk scan: no new production unwrap/expect, casts, panic/todo/unsafe,
|
||||
or error-type risks added; only existing `DiskResult<Vec<String>>`
|
||||
textual matches were reported by the broad error-type scan.
|
||||
|
||||
- Issue #660 API-145 current slice:
|
||||
- `cargo check --tests -p rustfs`: passed.
|
||||
- `cargo fmt --all`: passed.
|
||||
- `cargo fmt --all --check`: passed.
|
||||
- `git diff --check`: passed.
|
||||
- `bash -n scripts/check_architecture_migration_rules.sh`: passed.
|
||||
- `./scripts/check_architecture_migration_rules.sh`: passed.
|
||||
- `make pre-commit`: passed.
|
||||
- Rust risk scan: no new production unwrap/expect, casts, panic/todo/unsafe,
|
||||
or error-type risks added; only existing `DiskResult<Vec<String>>`
|
||||
textual matches were reported by the broad error-type scan.
|
||||
|
||||
- Issue #660 API-146 current slice:
|
||||
- `cargo check --tests -p rustfs`: passed.
|
||||
- `cargo fmt --all`: passed.
|
||||
- `cargo fmt --all --check`: passed.
|
||||
- `git diff --check`: passed.
|
||||
- `bash -n scripts/check_architecture_migration_rules.sh`: passed.
|
||||
- `./scripts/check_architecture_migration_rules.sh`: passed.
|
||||
- `make pre-commit`: passed.
|
||||
- Rust risk scan: no new production unwrap/expect, casts, panic/todo/unsafe,
|
||||
or error-type risks added; only existing `DiskResult<Vec<String>>`
|
||||
textual matches were reported by the broad error-type scan.
|
||||
|
||||
- Issue #660 API-147 current slice:
|
||||
- `cargo check -p rustfs-notify -p rustfs-obs -p rustfs-s3select-api -p rustfs-protocols -p rustfs-iam -p rustfs-heal -p rustfs-scanner`:
|
||||
passed.
|
||||
- `cargo fmt --all`: passed.
|
||||
- `cargo fmt --all --check`: passed.
|
||||
- `git diff --check`: passed.
|
||||
- `bash -n scripts/check_architecture_migration_rules.sh`: passed.
|
||||
- `./scripts/check_architecture_migration_rules.sh`: passed.
|
||||
- `make pre-commit`: passed.
|
||||
- Runtime crate ECStore source bypass scan: passed; target runtime crate
|
||||
source paths now reference `rustfs_ecstore::api::` only inside
|
||||
`ecstore_compat.rs`.
|
||||
- Rust risk scan: no new production unwrap/expect, casts, panic/todo/unsafe,
|
||||
or error-type risks added; changes only move import/source boundaries.
|
||||
|
||||
- Issue #660 API-148 current slice:
|
||||
- `cargo check --tests -p rustfs-heal -p rustfs-scanner -p e2e_test`:
|
||||
passed.
|
||||
- `cargo fmt --all`: passed.
|
||||
- `cargo fmt --all --check`: passed.
|
||||
- `git diff --check`: passed.
|
||||
- `bash -n scripts/check_architecture_migration_rules.sh`: passed.
|
||||
- `./scripts/check_architecture_migration_rules.sh`: passed.
|
||||
- `make pre-commit`: passed.
|
||||
- External test ECStore source bypass scan: passed; target test/e2e paths now
|
||||
reference `rustfs_ecstore::api::` only inside `ecstore_test_compat.rs`.
|
||||
- Rust risk scan: no new production unwrap/expect, casts, panic/todo/unsafe,
|
||||
or error-type risks added; changes only move import/source boundaries.
|
||||
|
||||
- Issue #660 API-149 current slice:
|
||||
- `cargo check --manifest-path fuzz/Cargo.toml --bins`: passed; Cargo
|
||||
refreshed the stale fuzz lockfile during verification and the generated
|
||||
lockfile change was not retained.
|
||||
- `cargo fmt --all --manifest-path fuzz/Cargo.toml`: passed.
|
||||
- `cargo fmt --all --check --manifest-path fuzz/Cargo.toml`: passed.
|
||||
- `git diff --check`: passed.
|
||||
- `bash -n scripts/check_architecture_migration_rules.sh`: passed.
|
||||
- `./scripts/check_architecture_migration_rules.sh`: passed.
|
||||
- `make pre-commit`: passed.
|
||||
- Fuzz ECStore source bypass scan: passed; fuzz targets now reference
|
||||
`rustfs_ecstore::api::` only inside `ecstore_fuzz_compat.rs`.
|
||||
- Rust risk scan: no new production unwrap/expect, casts, panic/todo/unsafe,
|
||||
or error-type risks added; changes only move fuzz import/source boundaries.
|
||||
|
||||
- Issue #660 API-150 current slice:
|
||||
- `cargo check --tests -p rustfs`: passed.
|
||||
- `cargo fmt --all`: passed.
|
||||
- `cargo fmt --all --check`: passed.
|
||||
- `git diff --check`: passed.
|
||||
- `bash -n scripts/check_architecture_migration_rules.sh`: passed.
|
||||
- `./scripts/check_architecture_migration_rules.sh`: passed.
|
||||
- `make pre-commit`: passed.
|
||||
- Storage owner direct ECStore source scan: passed; `rustfs/src/storage/mod.rs`
|
||||
contains no direct `rustfs_ecstore::api::` source path.
|
||||
- Rust risk scan: no new production unwrap/expect, casts, panic/todo/unsafe,
|
||||
or error-type risks added; changes only move storage owner import/source
|
||||
boundaries.
|
||||
|
||||
- Issue #660 API-139 current slice:
|
||||
- `cargo check --tests -p rustfs`: passed.
|
||||
- `cargo fmt --all`: passed.
|
||||
- `cargo fmt --all --check`: passed.
|
||||
- `git diff --check`: passed.
|
||||
- `bash -n scripts/check_architecture_migration_rules.sh`: passed.
|
||||
- `./scripts/check_architecture_migration_rules.sh`: passed.
|
||||
- Rust risk scan: no new production unwrap/expect, casts, panic/todo/unsafe,
|
||||
or error-type risks added; existing startup-server test `expect` calls
|
||||
remain test-only and unchanged.
|
||||
|
||||
- Issue #660 API-138 current slice:
|
||||
- `cargo check -p rustfs-notify -p rustfs-s3select-api`: passed.
|
||||
- `cargo fmt --all`: passed.
|
||||
- `cargo fmt --all --check`: passed.
|
||||
- `git diff --check`: passed.
|
||||
- `bash -n scripts/check_architecture_migration_rules.sh`: passed.
|
||||
- `./scripts/check_architecture_migration_rules.sh`: passed.
|
||||
- Rust risk scan: no new production unwrap/expect, casts, panic/todo/unsafe,
|
||||
or error-type risks added; existing S3 Select unwrap and Notify
|
||||
`Result<String>` wrapper signatures remain unchanged.
|
||||
|
||||
- Issue #660 API-137 current slice:
|
||||
- `cargo fmt --all --check`: passed.
|
||||
- `git diff --check`: passed.
|
||||
- `bash -n scripts/check_architecture_migration_rules.sh`: passed.
|
||||
- `./scripts/check_architecture_migration_rules.sh`: passed.
|
||||
- Stacked-base freshness check against
|
||||
`origin/overtrue/arch-test-fuzz-owner-symbols`: passed.
|
||||
|
||||
- Issue #660 API-136 current slice:
|
||||
- `cargo check --tests -p rustfs`: passed.
|
||||
- `cargo fmt --all`: passed.
|
||||
- `cargo fmt --all --check`: passed.
|
||||
- `git diff --check`: passed.
|
||||
- `bash -n scripts/check_architecture_migration_rules.sh`: passed.
|
||||
- `./scripts/check_architecture_migration_rules.sh`: passed.
|
||||
- `./scripts/check_layer_dependencies.sh`: passed.
|
||||
- `make pre-commit`: passed.
|
||||
- Completed runtime-owner module-alias residual scan: passed.
|
||||
- Rust risk scan: no new production unwrap/expect, panic/todo/unsafe, or
|
||||
risky behavior added; existing `Result<Vec<String>>` storage trait
|
||||
signatures remain unchanged compatibility surfaces.
|
||||
|
||||
- Issue #660 API-135 current slice:
|
||||
- `cargo check --tests -p e2e_test -p rustfs-heal -p rustfs-scanner`: passed.
|
||||
- `cargo check --manifest-path fuzz/Cargo.toml --bins`: passed.
|
||||
|
||||
Reference in New Issue
Block a user