安正超
|
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 |
|
GatewayJ
|
9ce9ec22d1
|
fix(ecstore): tighten object copy rename handling (#3131)
* fix(ecstore): tighten object copy rename handling
* fix(ecstore): narrow copy lock lifetime
* test(ecstore): cover reverse copy concurrency
* fix(multipart): ignore preconditions for internal lookup
* fix(ecstore): clean precondition lock bindings
---------
Co-authored-by: houseme <housemecn@gmail.com>
|
2026-05-31 23:19:21 +00:00 |
|
安正超
|
2a3d127a86
|
revert: restore PutObjReader and remove PUT zero-copy chunk path (#2351 phase 2) (#2532)
|
2026-04-14 16:35:03 +08:00 |
|
安正超
|
458086dc80
|
fix(get): remove GET chunk fast path (#2507)
|
2026-04-12 23:12:23 +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 |
|
安正超
|
a236b0d01d
|
feat(ecstore): implement decommission and rebalance (#2281)
Co-authored-by: weisd <im@weisd.in>
Co-authored-by: houseme <housemecn@gmail.com>
|
2026-03-26 11:44:02 +08:00 |
|
weisd
|
41dcebda44
|
fix(tier): sweep transitioned copies from delete handlers (#2287)
|
2026-03-25 16:06:36 +08:00 |
|
weisd
|
b9b7d86ae4
|
feat: improve legacy metadata and admin compatibility (#2202)
|
2026-03-18 21:05:09 +08:00 |
|
安正超
|
095b77795d
|
refactor(ecstore): split store.rs into store submodules (#1942)
|
2026-02-25 06:35:27 +08:00 |
|