Zhengchao An
726c26fa01
refactor: centralize RIO HTTP runtime sources ( #3795 )
2026-06-23 21:55:05 +08:00
houseme
0a00d8d500
perf(server): lighten internode data-plane stack ( #3735 )
...
* refactor(server): split internode dispatch scaffold
* test(server): cover internode dispatch prefix split
* refactor(server): name internode stack boundaries
* perf(server): skip internode request logging layer
* perf(server): skip internode trace layer
* perf(server): use lite internode request context
* feat(metrics): track internode rpc duration
* feat(ecstore): add put object stage summary logs
* test(metrics): update internode descriptor expectations
* fix(server): tighten internode path matching
* fix(pr): address review follow-up comments
* style(ecstore): simplify commit tail duration field
* refactor(ecstore): group put stage summary fields
* refactor(ecstore): inline put stage summary log
* fix(s3): return storage class for object attributes
* merge: sync latest main and resolve object attributes conflict
* fmt
* fix(server): remove duplicate rpc imports
* build(deps): bump memmap2 for RUSTSEC-2026-0186
* fix(s3select): align object_store with datafusion
* chore(deps): prune workspace dependencies
* perf(fuzz): optimize CI runtime with build/run split and matrix parallelization
Separate fuzz harness compilation from execution to eliminate redundant
builds across targets. Introduce matrix-based parallel execution for
PR smoke and nightly fuzz jobs.
Changes:
- Split CI workflow into `fuzz-build` (compile once) and matrix run jobs
(`pr-fuzz-smoke`, `nightly-fuzz-corpus`) that execute targets in parallel
- Add `BUILD_ONLY` mode to run_ci_targets.sh / run_nightly_targets.sh
- Add run_single_target.sh for matrix jobs (no build phase)
- Optimize `local_metadata` fuzz target: reduce prefix iterations from
8-10 (4 functions each) to 5 critical prefixes (parser-only), cutting
per-iteration cost by ~3-5x
- Move archive path validation (`validate_extract_relative_path`,
`normalize_extract_entry_key`) from `rustfs` to `rustfs-utils::path`,
eliminating `rustfs` binary crate dependency from fuzz harness
- Remove `rustfs` from fuzz/Cargo.toml (drops significant transitive deps)
- Add unit tests for archive path validation in rustfs-utils
- Update fuzz/README.md with new workflow and script documentation
Expected CI improvement: PR smoke wall-clock from ~120min (frequent
timeout) to ~40min; nightly from ~180min to ~60min.
* refactor(fuzz): consolidate scripts and fix prefix test alignment
Replace three duplicated shell scripts (run_ci_targets.sh,
run_nightly_targets.sh, run_single_target.sh) with a single
parameterized run.sh that supports BUILD_ONLY, SKIP_BUILD, and
MAX_TOTAL_TIME environment variables.
Fix local_metadata fuzz target prefix testing: replace always-true
'len > 0' guard with lengths aligned to xl.meta binary layout
(4/5/8/12 bytes for magic+version+header fields). Remove redundant
empty-slice test.
Hoist RUSTFLAGS to workflow top-level env to eliminate per-job
duplication. Update README with unified script documentation.
Net: -118 lines, zero functionality loss.
* perf(fuzz): optimize CI runtime with build/run split and matrix parallelization
Restructure fuzz CI workflow to eliminate redundant compilation and
run targets in parallel via matrix strategy.
Workflow changes:
- Split into fuzz-build (compile once) and matrix run jobs
- PR smoke: 3 targets parallel, 60s each, timeout 30min (was 120min)
- Nightly: 3 targets parallel, 300s each, timeout 60min (was 180min)
- Pass compiled harness via actions/artifact between jobs
- Hoist RUSTFLAGS to workflow top-level env
Script consolidation:
- Replace 3 duplicated scripts with single parameterized run.sh
- Supports BUILD_ONLY, SKIP_BUILD, MAX_TOTAL_TIME env vars
Target optimizations:
- Remove rustfs binary crate from fuzz dependencies (was pulling
979 transitive deps); move archive path validation to rustfs-utils
- Optimize local_metadata: reduce prefix iterations from 8-10x4
calls to 5 prefixes with parser-only (no decompress), aligned
with xl.meta binary layout (4/5/8/12 bytes)
- Add unit tests for archive path validation in rustfs-utils
- Update fuzz/README.md with unified script documentation
Expected: PR smoke wall-clock from ~120min (frequent timeout)
to ~40min; nightly from ~180min to ~60min.
* fix(rpc): resolve internode metrics via app context
* fmt
* ci: speed up fuzz smoke artifact restore
---------
Signed-off-by: houseme <housemecn@gmail.com >
2026-06-23 21:36:39 +08:00
Henry Guo
7bdb25ae9d
feat(scanner): define replication boundary contract ( #3630 )
...
* feat(scanner): define replication boundary contract
* fix(scanner): propagate replication boundary metrics
* fix(scanner): preserve repair metadata on merge
---------
Co-authored-by: Henry Guo <marshawcoco@users.noreply.github.com >
Co-authored-by: houseme <housemecn@gmail.com >
2026-06-23 21:35:36 +08:00
唐小鸭
eff656e086
fix(storage): restore legacy SSE-S3 read compatibility ( #3584 )
...
* Update .gitignore
* Fix. fixed SSE-S3 compatibility issues in large-scale testing
* fix
* fix(ecstore): reject whitespace bucket names
* Update replication_extension_test.rs
* style(ecstore): format bucket whitespace test
---------
Co-authored-by: houseme <housemecn@gmail.com >
Co-authored-by: cxymds <cxymds@gmail.com >
2026-06-23 21:35:17 +08:00
Zhengchao An
5c60f0cae9
refactor: centralize owner server config reads ( #3793 )
2026-06-23 21:27:30 +08:00
Zhengchao An
70a2441407
refactor: route notify dispatch through app context ( #3789 )
...
* refactor: route notify dispatch through app context
* refactor: route admin IAM globals through app context (#3791 )
* refactor: centralize IAM root credential access (#3792 )
2026-06-23 20:05:28 +08:00
houseme
da565c11bc
refactor: migrate readiness and site replication app context ( #3788 )
...
* refactor(runtime): route readiness lock clients via app context
* refactor(admin): route site replication iam via app context
* refactor(admin): route site replication oidc via app context
2026-06-23 19:37:34 +08:00
houseme
46775ae019
feat: harden runtime capability snapshots ( #3784 )
...
* feat(admin): expose runtime capability snapshots
* feat(runtime): refine workload admission snapshots
* test(ci): align architecture migration checks
* build(deps): bump memmap2 for RUSTSEC-2026-0186
* build(deps): refresh cargo deny lockfile
2026-06-23 18:10:49 +08:00
Zhengchao An
fd2ab38581
refactor: route IAM reads through app context ( #3786 )
2026-06-23 17:57:55 +08:00
Zhengchao An
61cfd4fc13
refactor: route runtime consumers through app context ( #3785 )
2026-06-23 17:21:34 +08:00
Zhengchao An
a62e2b6c94
refactor: route action credentials through app context ( #3783 )
2026-06-23 16:29:46 +08:00
houseme
e42c6df0e8
fix(runtime): remove high-impact unwrap paths ( #3755 )
...
* fix(runtime): remove high-impact unwrap paths
* fix(runtime): propagate managed SSE metadata errors
* fix(runtime): add typed OPA config errors
* fix(runtime): harden config and credential helpers
* fix(runtime): remove SSE hmac unwraps
* fix(runtime): complete SSE helper error propagation
* fix(trusted-proxies): avoid legacy global init panics
* test(credentials): allow deprecated rpc token check
* fix(storage): harden object lock retention parsing
* chore(checks): refresh layer dependency baseline
* chore(checks): refresh layer dependency baseline
* Update layer-dependency-baseline.txt
Signed-off-by: houseme <housemecn@gmail.com >
* test(context): avoid clone on copy boot time
---------
Signed-off-by: houseme <housemecn@gmail.com >
Co-authored-by: Zhengchao An <anzhengchao@gmail.com >
Co-authored-by: heihutu <heihutu@gmail.com >
2026-06-23 15:12:47 +08:00
Zhengchao An
825c01060c
refactor: route admin config writes through app context ( #3782 )
2026-06-23 13:46:13 +08:00
Zhengchao An
4ef899dd5c
refactor: route admin kms manager through app context ( #3781 )
2026-06-23 13:18:38 +08:00
Zhengchao An
d8a53d090f
refactor: route admin status metrics through app context ( #3780 )
2026-06-23 13:14:00 +08:00
Zhengchao An
cb585c7fcf
refactor: route admin replication stats through app context ( #3779 )
2026-06-23 13:09:50 +08:00
Zhengchao An
08d092562c
refactor: route site replication tls through app context ( #3778 )
2026-06-23 12:56:54 +08:00
houseme
a6878e8fce
fix(runtime): remove startup panic fallbacks ( #3754 )
...
* fix(runtime): remove startup panic fallbacks
* test(runtime): cover buffer profile fallback safety
* test(runtime): reduce panic-style assertions
* fix(runtime): expose fallible env config setup
* test(runtime): simplify permit acquisition assertion
* test(runtime): tighten operation helper assertions
* fix(filemeta): stop panicking on invalid free version ids
* fix(init): satisfy buffer profile clippy lints
* fix(lock): harden fast lock config construction
* chore(checks): refresh layer dependency baseline
---------
Signed-off-by: houseme <housemecn@gmail.com >
2026-06-23 12:31:26 +08:00
houseme
583a23bdf2
fix(ecstore): replace panic-driven pool and set stubs ( #3753 )
...
* fix(ecstore): replace panic-driven pool and set stubs
* test(runtime): tolerate restricted local bind checks
* fix(ecstore): remove remaining trait stub placeholders
* fix(ecstore): tighten trait stub follow-up semantics
* chore: ignore local worktrees
* chore: update layer dependency baseline for resolve_* context entries
Add 7 accepted infra->app dependency entries introduced by recent
refactoring PRs (#3770 , #3771 , #3772 ) that route global state lookups
through app::context::resolve_* functions.
Co-Authored-By: heihutu <heihutu@gmail.com >
---------
Co-authored-by: heihutu <heihutu@gmail.com >
2026-06-23 12:31:17 +08:00
Zhengchao An
c421e73fef
refactor: route site replication iam through app context ( #3777 )
2026-06-23 12:20:57 +08:00
Zhengchao An
0ebd3911c8
refactor: route admin peer systems through app context ( #3776 )
2026-06-23 11:45:07 +08:00
Zhengchao An
2fe059811a
refactor: route admin topology reads through app context ( #3774 )
...
* refactor: route admin topology reads through app context
* chore: accept app context layer baseline entries
2026-06-23 11:22:20 +08:00
Zhengchao An
0acc8f8b43
refactor: route admin runtime reads through app context ( #3773 )
2026-06-23 10:30:55 +08:00
Zhengchao An
9615086154
refactor: route RPC node globals through app context ( #3772 )
2026-06-23 10:06:54 +08:00
Zhengchao An
747db971ee
refactor: route RPC IAM through app context ( #3771 )
2026-06-23 09:18:25 +08:00
Zhengchao An
087f794901
refactor: route readiness through app context ( #3770 )
2026-06-23 08:28:19 +08:00
Zhengchao An
7499dd085d
refactor: collapse app notify thin compat boundaries ( #3768 )
...
* refactor: collapse app notify thin compat boundaries
* refactor: route app runtime consumers through context (#3769 )
2026-06-23 08:13:58 +08:00
Zhengchao An
30559f7e1b
refactor: collapse test fuzz ecstore thin bridges ( #3765 )
2026-06-23 07:04:51 +08:00
Zhengchao An
198fd4f150
refactor(runtime): route RustFS runtime consumers through storage owner ( #3756 )
2026-06-23 05:17:56 +08:00
Zhengchao An
e0b79aa00c
refactor: expose test fuzz owner symbols ( #3752 )
2026-06-23 01:11:46 +08:00
Zhengchao An
6da61b44e5
refactor: expose remaining external owner symbols ( #3751 )
2026-06-22 23:35:50 +08:00
Zhengchao An
ec5f112205
refactor: expose scanner ECStore owner symbols ( #3749 )
2026-06-22 22:26:25 +08:00
Zhengchao An
db7ff8f513
refactor: expose external ECStore owner symbols ( #3748 )
2026-06-22 21:42:54 +08:00
Zhengchao An
418b5d04f9
refactor: route external ECStore imports through owners ( #3747 )
2026-06-22 20:57:10 +08:00
Zhengchao An
88a87b3e8f
refactor: centralize external ECStore facade aliases ( #3746 )
2026-06-22 20:37:13 +08:00
Zhengchao An
89805ffb4d
refactor: route RustFS ECStore consumers via owner boundary ( #3745 )
2026-06-22 19:29:01 +08:00
houseme
a53ccb2407
fix(ecstore): reject symlink path escapes ( #3742 )
...
Co-authored-by: Zhengchao An <anzhengchao@gmail.com >
2026-06-22 19:28:40 +08:00
houseme
2f85ef4455
fix(security): extend outbound egress guard ( #3744 )
2026-06-22 19:20:31 +08:00
houseme
64aef06c60
fix(replication): harden site-repl versioning sync ( #3739 )
2026-06-22 19:18:42 +08:00
Zhengchao An
e57962d5e8
refactor: remove RustFS owner compat bridges ( #3743 )
2026-06-22 18:55:59 +08:00
Zhengchao An
d3796d6c10
refactor: remove external owner compat bridges ( #3741 )
2026-06-22 18:28:35 +08:00
Zhengchao An
539c68778d
refactor: remove standalone compat bridge modules ( #3740 )
2026-06-22 17:35:58 +08:00
Zhengchao An
b63b076275
refactor: remove remaining compatibility bridges ( #3738 )
2026-06-22 16:53:14 +08:00
安正超
a66350b645
refactor: remove secondary compatibility bridges ( #3737 )
...
* refactor: remove app admin secondary compat bridges
* refactor: remove storage core compat bridge
* refactor: remove nested compat bridges
* refactor: remove admin handlers compat bridge
* refactor: remove runtime local compat bridges
2026-06-22 16:29:33 +08:00
安正超
599e3632d1
refactor: use relative fuzz compat consumers ( #3736 )
2026-06-22 15:44:59 +08:00
安正超
cca9e83a8b
refactor: use relative standalone compat consumers ( #3734 )
2026-06-22 15:07:58 +08:00
安正超
7d81183cf1
refactor: use relative heal test compat consumers ( #3733 )
2026-06-22 14:55:12 +08:00
安正超
a3202eb6bb
refactor: use relative app compat consumers ( #3731 )
2026-06-22 14:37:20 +08:00
安正超
1a709e14c0
refactor: use relative admin compat consumers ( #3729 )
2026-06-22 14:06:49 +08:00
houseme
cc6909b08b
fix(iam): verify sts temp-user persistence ( #3722 )
2026-06-22 13:54:57 +08:00