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
houseme
d2901fd78c
feat(admin): add audit target APIs and harden target source handling ( #2350 )
...
Signed-off-by: houseme <housemecn@gmail.com >
Co-authored-by: 安正超 <anzhengchao@gmail.com >
Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com >
Co-authored-by: houseme <4829346+houseme@users.noreply.github.com >
2026-04-04 09:07:22 +08:00
安正超
bd36cf3588
test(filemeta): cover legacy delete marker decoding ( #2333 )
...
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: houseme <housemecn@gmail.com >
Co-authored-by: heihutu <heihutu@gmail.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-03-31 22:08:45 +08:00
安正超
7fb405526b
test(filemeta): cover legacy delete marker fallback ( #2322 )
2026-03-29 20:05:48 +08:00
weisd
5e21c398f5
fix(filemeta): support legacy xl.meta compatibility ( #2304 )
2026-03-27 13:42:06 +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
35e1f28f23
fix: support legacy bucket metadata decoding ( #2227 )
2026-03-19 12:43:53 +08:00
weisd
b9b7d86ae4
feat: improve legacy metadata and admin compatibility ( #2202 )
2026-03-18 21:05:09 +08:00
安正超
b48f273c7d
refactor(filemeta): split filemeta into focused submodules ( #1946 )
2026-02-25 08:38:32 +08:00
LeonWang0735
c7211c9df7
fix:correctly handle replicate delete ( #1850 )
...
Co-authored-by: loverustfs <hello@rustfs.com >
2026-02-19 13:23:29 +08:00
evan slack
229f0f89c8
perf(read): Remove unecessary allocation in read_xl_meta_no_data ( #1846 )
...
Co-authored-by: houseme <housemecn@gmail.com >
Co-authored-by: loverustfs <hello@rustfs.com >
2026-02-16 19:08:12 +08:00
weisd
4d19b069c3
fix: replication delete ( #1714 )
2026-02-04 13:39:35 +08:00
likewu
087f58b7c8
fix(lifecycle): lifecycle fixes ( #1625 )
...
Signed-off-by: likewu <likewu@126.com >
Co-authored-by: loverustfs <hello@rustfs.com >
2026-01-31 19:14:47 +08:00
weisd
dce117840c
refactor: NamespaceLock (nslock), AHM→Heal Crate, and Lock/Clippy Fixes ( #1664 )
...
Co-authored-by: Copilot <198982749+Copilot@users.noreply.github.com >
Co-authored-by: weisd <2057561+weisd@users.noreply.github.com >
Co-authored-by: houseme <housemecn@gmail.com >
2026-01-30 13:13:41 +08:00
houseme
e5284a85ed
fix: Fixed detection warnings in rust v1.93.0 ( #1591 )
2026-01-23 13:09:41 +08:00
weisd
6631407416
feat: Add RustFS Scanner Module and Multiple Bug Fixes ( #1579 )
2026-01-22 13:39:38 +08:00
weisd
359c9d2d26
Enhance Object Version Management and Replication Status Handling ( #1413 )
2026-01-07 10:44:35 +08:00
houseme
8d7cd4cb1b
chore: upgrade dependencies and migrate to aws-lc-rs ( #1333 )
2026-01-02 00:02:34 +08:00
0xdx2
b19e8070a2
fix(tagging): fix e2e test_object_tagging failure ( #1327 )
2026-01-01 17:38:37 +08:00
houseme
eb33e82b56
fix: Prevent panic in GetMetrics gRPC handler on invalid input ( #1291 )
...
Co-authored-by: Copilot <198982749+Copilot@users.noreply.github.com >
Co-authored-by: houseme <4829346+houseme@users.noreply.github.com >
2025-12-29 03:10:23 +08:00
houseme
7e75c9b1f5
remove unlinked file ( #1258 )
2025-12-24 23:37:43 +08:00
sunfkny
e8fe9731fd
Fix memory leak in Cache update method ( #1143 )
2025-12-15 10:04:14 +08:00
weisd
030d3c9426
fix filemeta nil versionid ( #1002 )
2025-12-05 20:30:08 +08:00
weisd
fce4e64da4
Fix/objectdelete ( #917 )
...
* fix getobject content length resp
* fix delete object
---------
Co-authored-by: houseme <housemecn@gmail.com >
2025-11-24 16:35:51 +08:00
shiro.lee
9b9bbb662b
fix: removing the Limit on the Number of Object Versions ( #819 ) ( #892 )
...
removing the Limit on the Number of Object Versions (#819 )
2025-11-19 22:34:26 +08:00
weisd
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
Copilot
601f3456bc
Fix large file upload freeze with adaptive buffer sizing ( #869 )
...
* Initial plan
* Fix large file upload freeze by increasing StreamReader buffer size
Co-authored-by: houseme <4829346+houseme@users.noreply.github.com >
* Add comprehensive documentation for large file upload freeze fix
Co-authored-by: houseme <4829346+houseme@users.noreply.github.com >
* upgrade s3s version
* Fix compilation error: use BufReader instead of non-existent StreamReader::with_capacity
Co-authored-by: houseme <4829346+houseme@users.noreply.github.com >
* Update documentation with correct BufReader implementation
Co-authored-by: houseme <4829346+houseme@users.noreply.github.com >
* add tokio feature `io-util`
* Implement adaptive buffer sizing based on file size
Co-authored-by: houseme <4829346+houseme@users.noreply.github.com >
* Constants are managed uniformly and fmt code
* fix
* Fix: Trigger self-heal on read when shards missing from rejoined nodes (#871 )
* Initial plan
* Fix: Trigger self-heal when missing shards detected during read
- Added proactive heal detection in get_object_with_fileinfo
- When reading an object, now checks if any shards are missing even if read succeeds
- Sends low-priority heal request to reconstruct missing shards on rejoined nodes
- This fixes the issue where data written during node outage is not healed when node rejoins
Co-authored-by: houseme <4829346+houseme@users.noreply.github.com >
* fix
* Unify CRC implementations to crc-fast (#873 )
* Initial plan
* Replace CRC libraries with unified crc-fast implementation
Co-authored-by: houseme <4829346+houseme@users.noreply.github.com >
* fix
* fix: replace low to Normal
---------
Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com >
Co-authored-by: houseme <4829346+houseme@users.noreply.github.com >
Co-authored-by: houseme <housemecn@gmail.com >
---------
Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com >
Co-authored-by: houseme <housemecn@gmail.com >
Co-authored-by: houseme <4829346+houseme@users.noreply.github.com >
---------
Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com >
Co-authored-by: houseme <4829346+houseme@users.noreply.github.com >
Co-authored-by: houseme <housemecn@gmail.com >
2025-11-17 23:15:20 +08:00
houseme
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
安正超
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
likewu
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 <housemecn@gmail.com >
Co-authored-by: loverustfs <155562731+loverustfs@users.noreply.github.com >
2025-10-27 20:23:50 +08:00
weisd
6a59c0a474
fix: multipart upload checksum validation ( #712 )
...
* fix multipart upload checksum
2025-10-24 18:23:32 +08:00
weisd
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 <anzhengchao@gmail.com >
2025-10-20 23:46:13 +08:00
安正超
639bf0c233
Revert "feat(append): implement object append operations with state tracking ( #599 )" ( #646 )
...
This reverts commit 4f73760a45 .
2025-10-12 23:47:51 +08:00
weisd
5689311cff
fix:#630 ( #633 )
2025-10-10 15:16:28 +08:00
guojidan
4f73760a45
feat(append): implement object append operations with state tracking ( #599 )
...
* feat(append): implement object append operations with state tracking
Signed-off-by: junxiang Mu <1948535941@qq.com >
* chore: rebase
Signed-off-by: junxiang Mu <1948535941@qq.com >
---------
Signed-off-by: junxiang Mu <1948535941@qq.com >
2025-09-27 20:06:26 -07:00
weisd
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
9ddf6a011d
feature: support kms && encryt ( #573 )
...
* feat(kms): implement key management service with local and vault backends
Signed-off-by: junxiang Mu <1948535941@qq.com >
* feat(kms): enhance security with zeroize for sensitive data and improve key management
Signed-off-by: junxiang Mu <1948535941@qq.com >
* remove Hashi word
Signed-off-by: junxiang Mu <1948535941@qq.com >
* refactor: remove unused request structs from kms handlers
Signed-off-by: junxiang Mu <1948535941@qq.com >
---------
Signed-off-by: junxiang Mu <1948535941@qq.com >
2025-09-22 17:53:05 +08:00
guojidan
9d5ed1acac
Feature/scanner performance optimization ( #498 )
...
* Refactor: reimplement scanner
Signed-off-by: RustFS Developer <dandan@rustfs.com >
* comment lock
Signed-off-by: junxiang Mu <1948535941@qq.com >
* remove dirty file
Signed-off-by: junxiang Mu <1948535941@qq.com >
* Fix: fix rebase
* fix(scanner): Improve error handling and logging
Signed-off-by: junxiang Mu <1948535941@qq.com >
---------
Signed-off-by: RustFS Developer <dandan@rustfs.com >
Signed-off-by: junxiang Mu <1948535941@qq.com >
Co-authored-by: RustFS Developer <dandan@rustfs.com >
2025-09-08 18:35:45 +08:00
weisd
01b2623f66
Fix/response ( #485 )
...
* fix:list_parts response
* fix:list_objects skip delete_marker
2025-09-03 17:52:31 +08:00
weisd
c9d26c6e88
Fix/delete version ( #484 )
...
* fix:delete_version
* fix:test_lifecycle_expiry_basic
---------
Co-authored-by: likewu <likewu@126.com >
2025-09-03 15:12:58 +08:00
likewu
7462be983a
Feature up/ilm ( #470 )
...
* fix delete-marker expiration. add api_restore.
* time retry object upload
* lock file
* make fmt
* restore object
* serde-rs-xml -> quick-xml
* scanner_item prefix object_name
* object_path
* object_name
* fi version_purge_status
* old_dir None
Co-authored-by: houseme <housemecn@gmail.com >
2025-09-01 16:11:28 +08:00
weisd
387f4faf78
fix:rm object versions ( #385 )
2025-08-12 15:33:47 +08:00
guojidan
d987686c14
feat(lifecycle): Implement object lifecycle management functionality ( #358 )
...
* feat(lifecycle): Implement object lifecycle management functionality
Add a lifecycle module to automatically handle object expiration and transition during scanning
Modify the file metadata cache module to be publicly visible to support lifecycle operations
Adjust the scanning interval to a shorter time for testing lifecycle rules
Implement the parsing and execution logic for S3 lifecycle configurations
Add integration tests to verify the lifecycle expiration functionality
Update dependencies to support the new lifecycle features
Signed-off-by: junxiang Mu <1948535941@qq.com >
* fix cargo dependencies
Signed-off-by: junxiang Mu <1948535941@qq.com >
* fix fmt
Signed-off-by: junxiang Mu <1948535941@qq.com >
---------
Signed-off-by: junxiang Mu <1948535941@qq.com >
Co-authored-by: houseme <housemecn@gmail.com >
2025-08-08 10:51:02 +08:00
houseme
48a9707110
fix: add tokio-test ( #363 )
...
* fix: add tokio-test
* fix: "called `unwrap` on `v` after checking its variant with `is_some`"
= help: try using `if let` or `match`
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_unwrap
= note: `-D clippy::unnecessary-unwrap` implied by `-D warnings`
= help: to override `-D warnings` add `#[allow(clippy::unnecessary_unwrap)]`
* fmt
* set toolchain 1.88.0
* fmt
* fix: cliip
2025-08-08 10:23:22 +08:00
junxiang Mu
d562620e99
fix: implement uses_data_dir method
...
Signed-off-by: junxiang Mu <1948535941@qq.com >
2025-07-24 12:14:05 +08:00
Chrislearn Young
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
a9d77a618f
feat: implement list_parts API for S3 multipart upload compatibility ( #209 )
...
* feat: add list_parts api
2025-07-15 16:04:03 +08:00
houseme
2e14b32ccd
chore: Add copyright and license headers ( #23 )
...
* chore: Add copyright and license headers
This commit adds the Apache 2.0 license and a copyright notice to the header of all source files. This ensures that the licensing and copyright information is clearly stated within the codebase.
* cargo fmt
* fix
* fmt
* fix clippy
2025-07-02 15:07:47 +08:00
weisd
20054d0a56
fix: simplify filemeta MessagePack serialization and improve code quality
...
- Refactor `unmarshal_msg` to use `rmp_serde::from_slice` instead of manual parsing
- Add serde field renaming attributes to `FileMetaVersion` struct
- Remove 428 lines of manual MessagePack parsing code
- Improve string comparison using `!object.is_empty()` instead of `object != ""`
- Update volume directory numbering in run script from test{0..4} to test{1..4}
- Clean up unused imports and code
Fixes #517
2025-06-29 22:39:36 +08:00
houseme
7bd8431006
cargo fmt
2025-06-27 18:53:51 +08:00