安正超
|
d6120f5788
|
refactor(ecstore): migrate mutable globals into ECStore struct fields (#3214)
* refactor(ecstore): migrate mutable globals into ECStore struct fields
Phase 1 of global singleton consolidation. Move mutable globals from
lazy_static into ECStore struct fields as the first step toward
dependency injection and multi-instance support.
New ECStore fields:
- is_erasure, is_dist_erasure, is_erasure_sd (erasure type flags)
- local_disk_map, local_disk_id_map, local_disk_set_drives
- root_disk_threshold
- tier_config_mgr, event_notifier, bucket_monitor
New accessor methods:
- is_erasure(), is_dist_erasure(), is_erasure_sd()
- update_erasure_type()
- tier_config_mgr(), event_notifier(), bucket_monitor()
Global functions in global.rs preserved for backward compatibility.
1151 ecstore tests pass.
* fix: address PR #3214 review comments
- Sync ECStore fields from globals after init()
- Enforce DistErasure => is_erasure invariant in update_erasure_type()
- Change bucket_monitor from Option to OnceLock for deferred initialization
- Restrict TypeLocalDiskSetDrives to pub(crate)
- 1151 tests pass
* fix: address PR #3150 review comments
- Restore get_host_addr as best-effort wrapper (String return type)
- Replace bare expect("err") with descriptive messages in unsigned trailer
- Simplify aws-chunked header construction
- 20 signer + 96 io-core tests pass
* fix(ecstore): format store imports
* fix(ecstore): keep migrated accessors in sync
* fix(signer): preserve host fallback and unsigned trailer errors
* fix(ecstore): defer migrated global accessors
* fix(signer): box unsigned trailer signing errors
* fix(ecstore): avoid lock awaits during sync
* fix(ecstore): narrow phase one globals
---------
Co-authored-by: houseme <housemecn@gmail.com>
|
2026-06-04 17:27:21 +00:00 |
|