

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 <[email protected]>
2026-06-04 17:27:21 +00:00
..
2026-05-19 12:50:25 +00:00
2026-06-03 14:37:58 +00:00
2026-06-04 05:16:26 +00:00
2026-05-31 21:52:53 +00:00
2026-06-04 17:27:21 +00:00
2026-05-19 10:20:24 +00:00
2026-06-03 14:21:20 +00:00
2026-06-04 03:39:50 +00:00
2026-05-31 23:40:20 +00:00
2026-06-03 02:10:27 +00:00
2026-05-06 15:09:02 +00:00
2026-06-03 02:10:27 +00:00
2026-06-03 15:37:59 +00:00
2026-06-03 14:37:58 +00:00
2026-06-03 15:33:28 +00:00
2026-06-01 00:44:58 +00:00
2026-06-03 13:38:22 +00:00
2026-06-03 15:57:17 +00:00
2026-06-03 15:57:17 +00:00
2026-06-04 09:21:30 +00:00
2026-06-03 15:40:35 +00:00
2026-05-31 04:47:21 +00:00
2026-06-02 11:31:51 +00:00
2026-05-31 22:19:36 +08:00