d52a10c5fb
chore(obs): Improve tracing instrumentation ( #2086 )
...
Co-authored-by: loverustfs <[email protected] >
2026-03-07 20:03:20 +08:00
9d2b8822cf
refactor: stabilize heal format recovery integration tests ( #1984 )
...
Co-authored-by: houseme <[email protected] >
2026-02-27 15:26:19 +08:00
weisd and GitHub
368bba3345
fix(ecstore): adjust unformatted disk error mapping ( #1988 )
2026-02-27 13:45:33 +08:00
安正超 and GitHub
4211652991
refactor(app): add application layer module entry ( #1907 )
2026-02-22 22:15:37 +08:00
23f7ffe36b
fix(startup): Only monitor disk health after format loading ( #1854 )
...
Co-authored-by: houseme <[email protected] >
Co-authored-by: loverustfs <[email protected] >
2026-02-21 20:46:14 +08:00
loverustfs and GitHub
5d737eaeb7
fix(ecstore): invalidate GlobalFileCache after write_all_private to fix DeleteMarker visibility ( #1890 )
2026-02-20 22:47:45 +08:00
安正超 and GitHub
2fc36bb52e
fix: restore s3 compatibility regressions and CI coverage ( #1793 )
2026-02-13 12:26:52 +08:00
Tyooughtul and GitHub
1184806c3f
Fix/resolve pr 1710 ( #1743 )
2026-02-11 08:24:55 +08:00
weisd and GitHub
4d19b069c3
fix: replication delete ( #1714 )
2026-02-04 13:39:35 +08:00
dce117840c
refactor: NamespaceLock (nslock), AHM→Heal Crate, and Lock/Clippy Fixes ( #1664 )
...
Co-authored-by: Copilot <[email protected] >
Co-authored-by: weisd <[email protected] >
Co-authored-by: houseme <[email protected] >
2026-01-30 13:13:41 +08:00
6ab7b75fd4
fix bug ( #1615 )
...
Co-authored-by: houseme <[email protected] >
2026-01-27 09:54:13 +08:00
d251b9fb35
fix: unify path handling to use S3-standard forward slashes on all platforms ( #1555 )
...
Signed-off-by: houseme <[email protected] >
Signed-off-by: 安正超 <[email protected] >
Co-authored-by: heihutu <[email protected] >
Co-authored-by: LeonWang0735 <[email protected] >
Co-authored-by: loverustfs <[email protected] >
Co-authored-by: 安正超 <[email protected] >
Co-authored-by: Copilot <[email protected] >
2026-01-26 18:49:21 +08:00
安正超 and GitHub
4890fb25c1
fix: listobjects v2 pagination ( #1607 )
2026-01-25 09:30:08 +08:00
weisd and GitHub
6631407416
feat: Add RustFS Scanner Module and Multiple Bug Fixes ( #1579 )
2026-01-22 13:39:38 +08:00
LeonWang0735 and GitHub
18b22eedd9
Fix:correctly handle versioning obj ( #1521 )
2026-01-16 08:12:05 +08:00
houseme and GitHub
f795299d53
Optimization and collation of dependencies introduction processing ( #1493 )
2026-01-13 15:02:54 +08:00
760cb1d734
Fix Windows Path Separator Handling in rustfs_utils ( #1464 )
...
Co-authored-by: reatang <[email protected] >
2026-01-11 19:53:51 +08:00
weisd and GitHub
359c9d2d26
Enhance Object Version Management and Replication Status Handling ( #1413 )
2026-01-07 10:44:35 +08:00
weisd and GitHub
3ce99939a3
fix: improve memory ordering for disk health tracker ( #1412 )
2026-01-06 23:59:08 +08:00
weisd and GitHub
b142563127
fix rpc client ( #1393 )
2026-01-05 21:52:04 +08:00
weisd and GitHub
ab752458ce
Fix Path Traversal and Enhance Object Validation ( #1387 )
2026-01-05 15:57:15 +08:00
houseme and GitHub
8d7cd4cb1b
chore: upgrade dependencies and migrate to aws-lc-rs ( #1333 )
2026-01-02 00:02:34 +08:00
80cfb4feab
Add Disk Timeout and Health Check Functionality ( #1196 )
...
Signed-off-by: weisd <[email protected] >
Co-authored-by: loverustfs <[email protected] >
2025-12-22 17:15:19 +08:00
houseme and GitHub
9e2fa148ee
Fix type errors in ecfs.rs and apply clippy fixes for Rust 1.92.0 ( #1121 )
2025-12-12 00:49:21 +08:00
53c126d678
fix: decode percent-encoded paths in get_file_path() ( #1072 )
...
Co-authored-by: houseme <[email protected] >
Co-authored-by: loverustfs <[email protected] >
2025-12-10 22:30:02 +08:00
weisd and GitHub
030d3c9426
fix filemeta nil versionid ( #1002 )
2025-12-05 20:30:08 +08:00
b3c80ae362
fix: listdir rpc ( #979 )
...
Co-authored-by: houseme <[email protected] >
Co-authored-by: loverustfs <[email protected] >
2025-12-04 16:12:10 +08:00
a8b7b28fd0
Fix Admin Heal API and Add Pagination Support for Large Buckets ( #933 )
...
Co-authored-by: Copilot <[email protected] >
Co-authored-by: loverustfs <[email protected] >
Co-authored-by: houseme <[email protected] >
2025-12-03 18:10:46 +08:00
ee04cc77a0
remove debug ( #912 )
...
* remove debug
* Refactor get_global_encryption_service function
* Refactor get_global_encryption_service function
---------
Co-authored-by: loverustfs <[email protected] >
Co-authored-by: houseme <[email protected] >
2025-11-26 11:56:01 +08:00
277d80de13
Fix: Implement priority-based heal queue with comprehensive diagnostic logging ( #884 )
...
* Initial plan
* Implement priority-based heal queue with deduplication
Co-authored-by: houseme <[email protected] >
* Apply cargo fmt formatting fixes
Co-authored-by: houseme <[email protected] >
* Add queue monitoring, better error handling, and adaptive processing
- Add priority-based queue statistics tracking
- Implement queue capacity warnings (>80% full)
- Process multiple tasks per cycle when capacity allows
- Add proper error logging for failed heal request submissions
- Add Hash trait to HealPriority for HashMap support
- Improve observability with detailed queue status logs
Co-authored-by: houseme <[email protected] >
* Add comprehensive diagnostic logging to heal flow
- Add detailed logging for shard availability checks during reads
- Log successful heal request submissions
- Add detailed logging in heal_object for disk checking
- Log each disk's heal decision with reason and endpoint
- Add logging for heal writing and renaming phases
- Improve variable naming (nil_count -> available_shards)
- Add success confirmation messages for renamed healed data
These logs will help diagnose where the heal flow is failing.
Co-authored-by: houseme <[email protected] >
* fix
* feat(heal): enhance robustness, safety, and observability of heal process
- **Logging & Observability**:
- Upgrade critical heal logs from [info](/crates/e2e_test/src/reliant/node_interact_test.rs:196:0-213:1) to `warn` for better visibility.
- Implement structured logging with `tracing` fields for machine readability.
- Add `#[tracing::instrument]` to [HealTask](c/crates/ahm/src/heal/task.rs:182:0-205:1) and [SetDisks](/crates/ecstore/src/set_disk.rs:120:0-131:1) methods for automatic context propagation.
- **Robustness**:
- Add exponential backoff retry (3 attempts) for acquiring write locks in [heal_object](/crates/ahm/src/heal/storage.rs:438:4-460:5) to handle contention.
- Handle [rename_data](/crates/ecstore/src/set_disk.rs:392:4-516:5) failures gracefully by preserving temporary files instead of forcing deletion, preventing potential data loss.
- **Data Safety**:
- Fix [object_exists](/crates/ahm/src/heal/storage.rs:395:4-412:5) to propagate IO errors instead of treating them as "object not found".
- Update [ErasureSetHealer](/crates/ahm/src/heal/erasure_healer.rs:28:0-33:1) to mark objects as failed rather than skipped when existence checks error, ensuring they are tracked for retry.
* fix
* fmt
* improve code for heal_object
* fix
* fix
* fix
---------
Co-authored-by: copilot-swe-agent[bot] <[email protected] >
Co-authored-by: houseme <[email protected] >
Co-authored-by: houseme <[email protected] >
2025-11-20 00:36:25 +08:00
weisd and GitHub
85bc0ce2d5
fix: filemeta version handling and delete operations ( #879 )
...
* fix filemeta version
* fix clippy
* fix delete version
* fix clippy/test
2025-11-18 09:24:22 +08:00
weisd and GitHub
77a3489ed2
fix list object err ( #831 )
...
fix list object err (#831 )
#827
#815
#635
#752
2025-11-10 23:42:15 +08:00
houseme and GitHub
d934e3905b
Refactor telemetry initialization for non-production environments ( #789 )
...
* add dep `scopeguard`
* improve for tracing
* fix
* fix
* improve code for import
* add logger trace id
* fix
* fix
* fix
* fix
* fix
2025-11-05 00:55:08 +08:00
安正超 and GitHub
dd47fcf2a8
fix: restore localized samples in tests ( #749 )
...
* fix: restore required localized examples
* style: fix formatting issues
2025-10-29 13:16:31 +08:00
weisd and GitHub
40660e7b80
fix: scandir object ( #733 )
...
* fix: scandir object count
* fix: base64 list continuation_token
2025-10-28 15:02:43 +08:00
weisd and GitHub
e524a106c5
add make bucket error logs ( #683 )
...
* add make bucket error logs
2025-10-22 16:23:08 +08:00
weisd and GitHub
90f21a9102
refactor: Reimplement bucket replication system with enhanced architecture ( #590 )
...
* feat:refactor replication
* use aws sdk for replication client
* refactor/replication
* merge main
* fix lifecycle test
2025-09-26 14:27:53 +08:00
guojidan and GitHub
12ecb36c6d
Fix collect ( #586 )
...
* fix: fix datausageinfo
Signed-off-by: junxiang Mu <[email protected] >
* feat(data-usage): implement local disk snapshot aggregation for data usage statistics
Signed-off-by: junxiang Mu <[email protected] >
* feat(scanner): improve data usage collection with local scan aggregation
Signed-off-by: junxiang Mu <[email protected] >
* refactor: improve object existence check and code style
Signed-off-by: junxiang Mu <[email protected] >
---------
Signed-off-by: junxiang Mu <[email protected] >
2025-09-24 02:48:23 -07:00
guojidan and GitHub
9ddf6a011d
feature: support kms && encryt ( #573 )
...
* feat(kms): implement key management service with local and vault backends
Signed-off-by: junxiang Mu <[email protected] >
* feat(kms): enhance security with zeroize for sensitive data and improve key management
Signed-off-by: junxiang Mu <[email protected] >
* remove Hashi word
Signed-off-by: junxiang Mu <[email protected] >
* refactor: remove unused request structs from kms handlers
Signed-off-by: junxiang Mu <[email protected] >
---------
Signed-off-by: junxiang Mu <[email protected] >
2025-09-22 17:53:05 +08:00
weisd and GitHub
ae7e86d7ef
refactor: simplify initialization flow and modernize string formatting ( #548 )
2025-09-16 15:44:50 +08:00
guojidan and GitHub
62a01f3801
Performance: improve ( #514 )
...
* Performance: improve
Signed-off-by: junxiang Mu <[email protected] >
* remove dirty
Signed-off-by: junxiang Mu <[email protected] >
* fix some err
Signed-off-by: junxiang Mu <[email protected] >
---------
Signed-off-by: junxiang Mu <[email protected] >
2025-09-11 19:48:28 +08:00
4a3325276d
fix(ecstore): add async-recursion to resolve nightly trait solver reg… ( #415 )
...
* fix(ecstore): add async-recursion to resolve nightly trait solver regression
The newest nightly compiler switched to the new trait solver, which
currently rejects async recursive functions that were previously accepted.
This causes the following compilation failures:
- `LocalDisk::delete_file()`
- `LocalDisk::scan_dir()`
Add `async-recursion` as a workspace dependency and annotate both functions with `#[async_recursion]` so that the crate compiles cleanly with the latest nightly and will continue to build once the new solver lands in stable.
Signed-off-by: reigadegr <[email protected] >
* fix: resolve duplicate bound error in scan_dir function
Replaced inline trait bounds with where clause to avoid duplication caused by macro expansion.
Signed-off-by: reigadegr <[email protected] >
---------
Signed-off-by: reigadegr <[email protected] >
Co-authored-by: 安正超 <[email protected] >
2025-08-18 20:58:05 +08:00
shiro.lee and GitHub
c42fbed3d2
fix: Fixed an issue where the list_objects_v2 API did not return dire… ( #352 )
...
* fix: Fixed an issue where the list_objects_v2 API did not return directory names when they conflicted with file names in the same bucket (e.g., test/ vs. test.txt, aaa/ vs. aaa.csv) (#335 )
* fix: adjusted the order of directory listings
2025-08-07 11:05:05 +08:00
weisd and GitHub
56fd8132e9
fix:#303 returns empty when querying an empty or not dir ( #304 )
2025-07-28 16:17:40 +08:00
junxiang Mu
4fefd63a5b
rebase
...
Signed-off-by: junxiang Mu <[email protected] >
2025-07-24 12:14:05 +08:00
junxiang Mu
ea210d52dc
refactor(heal): unify heal request interface, add disk field, update ahm/ecstore/common for erasure set healing
...
Signed-off-by: junxiang Mu <[email protected] >
2025-07-24 12:14:03 +08:00
junxiang Mu
e7d0a8d4b9
feat: integrate global metrics system into AHM scanner
...
- Add global metrics system to common crate for cross-module usage
- Integrate global metrics collection into AHM scanner operations
- Update ECStore to use common metrics system instead of local implementation
- Add chrono dependency to AHM crate for timestamp handling
- Re-export IlmAction from common metrics in ECStore lifecycle module
- Update scanner methods to use global metrics for cycle, disk, and volume scans
- Maintain backward compatibility with local metrics collector
- Fix clippy warnings and ensure proper code formatting
This change enables unified metrics collection across the entire RustFS system,
allowing better monitoring and observability of scanner operations.
Signed-off-by: junxiang Mu <[email protected] >
2025-07-24 12:12:49 +08:00
shiro.lee and GitHub
629db6218e
fix: the issue where preview fails when the path length exceeds 255 characters ( #280 )
2025-07-22 22:10:57 +08:00
Chrislearn Young and GitHub
823d4b6f79
Add typos github actions and fix typos ( #265 )
...
* Add typo github actions and fix typos
* cargo fmt
2025-07-19 22:08:50 +08:00
weisd and GitHub
4c1fc9317e
fix: content-range ( #216 )
2025-07-15 17:23:33 +08:00