cxymds and GitHub
0247c48ce0
fix(tiering): bind recovery to transaction metadata ( #5409 )
...
* fix(tiering): bind recovery to transaction metadata
* fix(tier): add operator transition reconciliation (#5410 )
* fix(tier): add operator transition reconciliation
* fix(tiering): require live fleet capability proof (#5423 )
2026-07-29 18:44:44 +00:00
294c79c156
fix(tiering): gate remote version state safely ( #5374 )
...
* feat(tiering): model provider version capabilities
* feat(tiering): persist opaque remote versions
* fix(tiering): gate remote version state safely
* fix(tiering): preserve remote version state on delete
* fix(tiering): accept unversioned transition responses
* fix(tiering): replay exact cleanup journals
* test(tiering): pin empty exact cleanup guard
* test(tiering): accept strict missing journal errors
* test(tiering): exercise free-version identity guard
* test(tiering): reach destination identity guard
* test(tiering): persist version identity drift
* test(tiering): bind version drift fixture
---------
Co-authored-by: houseme <[email protected] >
2026-07-29 02:43:28 +00:00
9e4c5e949f
fix(ecstore): fence restore cleanup by operation id ( #5058 )
...
Refs rustfs/backlog#1356
Co-authored-by: heihutu <[email protected] >
2026-07-20 10:32:02 +00:00
21049401fa
fix(ilm): harden tier transition failure boundaries ( #5031 )
...
* fix(tier): fence generation-scoped operations
Refs rustfs/backlog#1354
Co-Authored-By: heihutu <[email protected] >
* fix(ilm): verify transition upload streams
Refs rustfs/backlog#1353
Co-Authored-By: heihutu <[email protected] >
* test(ecstore): expand transition fault matrix
Refs rustfs/backlog#1355
Co-Authored-By: heihutu <[email protected] >
---------
Co-authored-by: heihutu <[email protected] >
2026-07-19 10:48:32 +00:00
Ramakrishna Chilaka and GitHub
f3147c5f8c
perf(metadata): drop per-object heap allocs in internal-key lookups ( #4260 )
2026-07-04 22:14:07 +08:00
9dfeffc4c1
test: prune redundant cases and add high-risk coverage across crates ( #4208 )
...
Remove or consolidate 57 test cases that cannot catch regressions
(literal-constant asserts, construct-then-assert, derived-serde
round-trips, near-duplicate env/getter matrices) in common, config,
iam, madmin, and object-capacity, keeping all wire-format and
error-path guards. Add 13 tests for previously uncovered high-risk
behavior: filemeta version-sort determinism and merge resilience to
garbage headers, zip extraction path-traversal rejection and exact
limit boundaries, JWT tampered-signature rejection, and the bytes
variant of dual-key (rustfs/minio) metadata fallback and precedence.
Test-only change; no production code touched.
Co-authored-by: Claude Fable 5 <[email protected] >
2026-07-03 00:35:37 +08:00
Zhengchao An and GitHub
710ae74cde
perf: add S3 operations benchmark framework ( #738 ) ( #4005 )
2026-06-28 18:02:41 +08:00
Zhengchao An and GitHub
05d201679c
fix: replace unwrap() with expect() in more files ( #729 batch 13) ( #3993 )
2026-06-28 11:45:13 +08:00
036741cb1c
refactor(request-id): align contracts and lock field names ( #3454 )
...
* refactor(request-id): align header log and trace contracts
* test(contract): lock external request-id field names
* chore(deps): drop unused rustfs-ecstore links
Co-Authored-By: heihutu <[email protected] >
2026-06-15 01:59:11 +08:00
f7724d223b
feat(rio): rio_v2 is compatible with minio for storing data. ( #3115 )
...
* Set up a compatibility layer for replacing old Rio components with new ones.
* fix(rio). compress range
* feat(rio). Add the experimental feature rio_v2 to support minio data at the binary level.
* feat(rio_v2): add sse-c test
* test compression component
* simple fix
* fix minlz encode
* fix metadata
* fix kms key cache error
* Update launch.json
* ci: set nix crate download user agent
* fix: gate obs pyroscope backend
* ignore minio test
* fix encrypt check
* fix
* fix
* fix
* Update object_usecase.rs
* Update ci.yml
* fix
* ci add rio-v2 test
* fix
* ci fix
* fix
* Reconstructed into a more reasonable compatibility mode
* fix
* fix
---------
Signed-off-by: houseme <[email protected] >
Signed-off-by: 唐小鸭 <[email protected] >
Co-authored-by: houseme <[email protected] >
Co-authored-by: cxymds <[email protected] >
Co-authored-by: 安正超 <[email protected] >
2026-06-08 11:59:14 +00:00
f833cd9cbe
fix(metrics): keep S3 op counts when chains are disabled ( #2675 )
...
Co-authored-by: houseme <[email protected] >
2026-04-25 01:24:53 +00:00
安正超 and GitHub
939a69f9c2
test(s3): complete snowball auto-extract compatibility ( #2324 )
2026-03-29 19:19:45 +08:00
安正超 and GitHub
f98664ea4a
test(s3): complete snowball auto-extract coverage ( #2313 )
2026-03-28 22:56:42 +08:00
weisd and GitHub
b9b7d86ae4
feat: improve legacy metadata and admin compatibility ( #2202 )
2026-03-18 21:05:09 +08:00
f4e9ef2edc
fix(replication): avoid re-replication loop in Active-Active replication ( #1751 )
...
Co-authored-by: loverustfs <[email protected] >
2026-02-09 14:11:30 +08:00
022e3dfc21
fix:s3 tests fix ( #1652 )
...
Co-authored-by: houseme <[email protected] >
2026-01-29 19:35:03 +08:00
3b5f7fb3ff
Fix/correctly handle object lock ( #1556 )
...
Signed-off-by: 安正超 <[email protected] >
Co-authored-by: loverustfs <[email protected] >
Co-authored-by: 安正超 <[email protected] >
Co-authored-by: Copilot <[email protected] >
2026-01-22 00:15:21 +08:00
weisd and GitHub
359c9d2d26
Enhance Object Version Management and Replication Status Handling ( #1413 )
2026-01-07 10:44:35 +08:00
houseme and GitHub
8d7cd4cb1b
chore: upgrade dependencies and migrate to aws-lc-rs ( #1333 )
2026-01-02 00:02:34 +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
55d44622ed
list object include deleted support ( #882 )
...
Co-authored-by: houseme <[email protected] >
2025-11-18 21:51:10 +08:00
b7964081ce
Fix KMS configuration synchronization across cluster nodes ( #855 )
...
* Initial plan
* Add KMS configuration persistence to cluster storage
Co-authored-by: houseme <[email protected] >
* Apply code formatting to KMS configuration changes
Co-authored-by: houseme <[email protected] >
* add comment
* fix fmt
* fix
* Fix overlapping dependabot cargo configurations
Co-authored-by: houseme <[email protected] >
* improve code for comment and replace `Once_Cell` to `std::sync::OnceLock`
---------
Co-authored-by: copilot-swe-agent[bot] <[email protected] >
Co-authored-by: houseme <[email protected] >
Co-authored-by: houseme <[email protected] >
Co-authored-by: loverustfs <[email protected] >
2025-11-16 00:05:03 +08:00
likewu and GitHub
2aca1f77af
Fix/ilm ( #721 )
...
* fix tip remote tier error
* fix transitioned_object
* fix filemeta
* add GCS R2
* add aliyun tencent huaweicloud azure gcs r2 backend tier
* fix signer
* change azure to s3
Co-authored-by: houseme <[email protected] >
Co-authored-by: loverustfs <[email protected] >
2025-10-27 20:23:50 +08:00
weisd and GitHub
a65856bdf4
Fix CRC32C Checksum Implementation and Enhance Authentication System ( #678 )
...
* fix: get_condition_values
* fix checksum crc32c
* fix clippy
2025-10-21 21:28:00 +08:00
cd1e244c68
Refactor: Introduce content checksums and improve multipart/object metadata handling ( #671 )
...
* feat: adapt to s3s typed etag support
* refactor: move replication struct to rustfs_filemeta, fix filemeta transition bug
* add head_object checksum, filter object metadata output
* fix multipart checksum
* fix multipart checksum
* add content md5,sha256 check
* fix test
* fix cargo
---------
Co-authored-by: overtrue <[email protected] >
2025-10-20 23:46:13 +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