Zhengchao An
710ae74cde
perf: add S3 operations benchmark framework ( #738 ) ( #4005 )
2026-06-28 18:02:41 +08:00
Zhengchao An
05d201679c
fix: replace unwrap() with expect() in more files ( #729 batch 13) ( #3993 )
2026-06-28 11:45:13 +08:00
Zhengchao An
f0ab812213
fix: replace unwrap() with expect() in remaining files ( #729 batch 12) ( #3992 )
2026-06-28 11:45:03 +08:00
Zhengchao An
1b3dea012e
refactor: route ecstore runtime globals through facade ( #3941 )
2026-06-27 12:27:03 +08:00
Zhengchao An
72ae43cb90
refactor: segment external storage contract imports ( #3908 )
2026-06-26 16:44:59 +08:00
Zhengchao An
1f7e159388
refactor: segment external storage api boundaries ( #3903 )
2026-06-26 15:10:49 +08:00
Zhengchao An
c9614eb7cb
refactor: route ecstore storage api boundaries ( #3892 )
2026-06-26 09:35:18 +08:00
Zhengchao An
e37e367390
refactor: route remaining external storage boundaries ( #3889 )
2026-06-26 06:22: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
db7ff8f513
refactor: expose external ECStore owner symbols ( #3748 )
2026-06-22 21:42:54 +08:00
Zhengchao An
88a87b3e8f
refactor: centralize external ECStore facade aliases ( #3746 )
2026-06-22 20:37:13 +08:00
Zhengchao An
539c68778d
refactor: remove standalone compat bridge modules ( #3740 )
2026-06-22 17:35:58 +08:00
安正超
de158743c3
refactor: split compat facade imports ( #3716 )
2026-06-22 09:53:22 +08:00
安正超
d39815470e
refactor: prune consumer storage compat paths ( #3704 )
2026-06-22 02:31:30 +08:00
安正超
0985225448
refactor: consolidate ecstore public facade ( #3678 )
...
* refactor: expand ecstore compatibility facade
* test: enforce ecstore api facade imports
* refactor: hide legacy ecstore layout modules
* refactor: hide ecstore facade root modules
2026-06-21 09:09:11 +08:00
安正超
9b3fda9e30
refactor: route ecstore public surfaces through api ( #3673 )
2026-06-21 05:23:23 +08:00
安正超
afe46c01e7
refactor: prune consumer ecstore object aliases ( #3622 )
2026-06-19 21:33:00 +08:00
安正超
54ffbedbc8
refactor: remove ecstore operation compat facades ( #3608 )
2026-06-19 17:01:12 +08:00
安正超
b14e49e84e
refactor: narrow IAM and Swift compatibility surfaces ( #3587 )
...
* refactor: narrow IAM and Swift compatibility surfaces
* refactor: narrow heal and scanner compatibility surfaces (#3588 )
* refactor: narrow RustFS runtime compatibility surfaces (#3591 )
2026-06-19 03:06:57 +08:00
安正超
205f964dc5
refactor: tighten storage compat store_api aliases ( #3582 )
...
* refactor: collapse storage compat store_api modules
* chore: guard storage compat store_api aliases
2026-06-18 22:50:02 +08:00
安正超
c28fee0013
refactor: continue storage api contract cleanup ( #3580 )
...
* refactor: move delete object contracts to storage api
* refactor: narrow store api compatibility exports
* refactor: route table catalog test through storage compat
2026-06-18 22:42:02 +08:00
安正超
7b0cb9e725
refactor: prune storage compatibility re-export allowances ( #3579 )
...
* refactor: prune storage compatibility re-export allowances
* fix: reject whitespace-padded dot path segments
2026-06-18 21:14:24 +08:00
安正超
f3fcdd4ba2
refactor: narrow remaining storage compatibility exports ( #3578 )
2026-06-18 19:18:32 +08:00
安正超
c76e4dc6bc
refactor: clean Swift ECStore boundaries ( #3570 )
2026-06-18 15:18:55 +08:00
安正超
0e7e2660bb
refactor: clean remaining storage DTO imports ( #3568 )
2026-06-18 14:44:46 +08:00
安正超
acdf439371
refactor: clean external DTO consumers ( #3566 )
...
* refactor: clean external DTO consumers
* fix: handle empty erasure shard recovery
2026-06-18 14:22:44 +08:00
安正超
e5cad7ed20
refactor: move object operation contracts ( #3559 )
2026-06-18 09:48:13 +08:00
安正超
3fb4cb3d65
refactor: move list operations contract ( #3550 )
2026-06-18 08:48:18 +08:00
安正超
53337a6f71
refactor: move HTTP range helper contracts ( #3533 )
2026-06-18 00:47:23 +08:00
houseme
841f86fe90
test(property): expand parser invariants ( #3534 )
...
* test(property): harden parser invariants for #3522
* test(property): satisfy clippy for #3522
2026-06-17 23:52:30 +08:00
安正超
ed55857bca
refactor: move bucket operations contract ( #3507 )
2026-06-17 09:10:38 +08:00
安正超
84f7027e90
refactor: add object store resolver for standalone crates ( #3437 )
2026-06-14 18:02:39 +08:00
houseme
efa89a98ed
refactor(logging): standardize protocol and observability events ( #3419 )
...
* refactor(logging): standardize object capacity events
* refactor(logging): standardize protocol server events
* refactor(logging): standardize swift protocol events
* refactor(logging): standardize observability events
* refactor(logging): move masking helper and extend guardrails
2026-06-14 07:14:45 +08:00
安正超
7146c893cb
refactor(storage-api): remove legacy bucket DTO re-export ( #3364 )
2026-06-11 21:24:56 +08:00
安正超
97dd825468
fix(ecstore): optimize ObjectInfo clone and fix critical TODOs ( #3149 )
...
* fix(ecstore): optimize ObjectInfo clone and fix critical TODOs
## ObjectInfo hot-path clone optimization (issue #653 item 2)
- Wrap user_defined (HashMap), user_tags (String), parts (Vec) in Arc
- Clone cost reduced from ~20 heap allocations to O(1) ref count bump
- Updated 11 downstream access sites with explicit deref where needed
## Critical TODO/FIXME fixes (issue #653 item 7)
- rpc/peer_s3_client.rs: descriptive error message for empty peer response
- set_disk/write.rs: concurrent rollback deletes via tokio::spawn + join_all
- store_list_objects.rs: resolved FIXME with explanation + 4 regression tests
- store/bucket.rs: namespace write locks for make_bucket and delete_bucket
Skipped TODOs (too risky without broader context):
- multipart.rs:30 nslock — causes lock timeout in existing tests
- bucket.rs:88 cached list_bucket — needs cache invalidation strategy
- bucket.rs:149 replication delete — needs replication subsystem integration
1134 tests pass (1 flaky under parallel execution, passes individually).
* fix: address PR #3149 review comments
- Preserve NamespaceLockQuorumUnavailable variant in bucket create/delete
- Fix cancellation test to actually test cancellation (keep senders open)
- Update ObjectInfo consumers in app/ for Arc-backed fields
- Update bucket_usecase.rs user_tags to Arc<String>
* fix: update ObjectInfo Arc consumers
* fix: address ecstore merge review comments
* fix: cancel blocked merge output sends
* fix(ecstore): satisfy ObjectInfo clone clippy
2026-06-01 00:44:58 +00:00
安正超
68d3dba9fc
fix: revert standalone #2351 artifacts (phase 5) ( #2535 )
2026-04-14 22:35:05 +08:00
安正超
2a3d127a86
revert: restore PutObjReader and remove PUT zero-copy chunk path ( #2351 phase 2) ( #2532 )
2026-04-14 16:35:03 +08:00
houseme
32bf8f5bf3
feat(storage): add direct chunk GET fast path ( #2351 )
...
Signed-off-by: houseme <housemecn@gmail.com >
Co-authored-by: heihutu <heihutu@gmail.com >
Co-authored-by: cxymds <Cxymds@qq.com >
2026-04-07 08:33:46 +08:00
weisd
5d302febb7
fix(rio): preserve reader capabilities and crypto safety ( #2363 )
2026-04-03 13:57:42 +08:00
houseme
19b8389dc4
fix(disk): Fix Usage Report Capacity Calculation ( #2274 )
...
Co-authored-by: cxymds <Cxymds@qq.com >
Co-authored-by: loverustfs <hello@rustfs.com >
Co-authored-by: heihutu <heihutu@gmail.com >
2026-03-24 23:47:30 +08:00
安正超
9908a44c38
fix(protocols): return errors instead of panics for sync signatures ( #2120 )
...
Co-authored-by: houseme <housemecn@gmail.com >
Co-authored-by: heihutu <30542132+heihutu@users.noreply.github.com >
2026-03-11 11:22:20 +08:00
houseme
8e4a1ef917
refactor(protocols): replace tar with astral-tokio-tar for async processing ( #2099 )
...
Co-authored-by: Copilot <198982749+Copilot@users.noreply.github.com >
Co-authored-by: houseme <4829346+houseme@users.noreply.github.com >
2026-03-08 15:18:15 +08:00
Senol Colak
b07383760f
Add OpenStack Swift API Support ( #2066 )
...
Co-authored-by: houseme <housemecn@gmail.com >
Co-authored-by: Copilot <noreply@github.com >
2026-03-08 01:11:35 +08:00