houseme
2b82432f9e
fix(ecstore): send valid ping body in remote locker ( #3112 )
...
* fix(ecstore): send valid ping body in remote locker
Build ping requests with a flatbuffer payload so health checks remain compatible with the ping response parser after restart.
* fix(bench): use multi-host warp target during failover
Normalize comma-separated warp host lists in run_object_batch_bench and let four-node failover bench pass BENCH_WARP_HOSTS so rolling restart does not pin load to a single restarting node.
* feat(health): add compat health probes with busy/KMS checks
- Add /health/live liveness probe endpoint
- Add busy protection (429) for readiness probes, gated by RUSTFS_HEALTH_COMPAT_BUSY_CHECK_ENABLE
- Add KMS readiness check for /health/ready, gated by RUSTFS_HEALTH_COMPAT_KMS_READY_CHECK_ENABLE
- Add lock quorum status caching with TTL to reduce RPC pressure
- Consolidate health response building into build_health_response_parts
- Register /health/live in console router and readiness gate
- Remove MinIO references from newly added health code
* fix(health): decouple kms readiness from lock quorum
2026-05-29 08:02:50 +00:00
安正超
b436272642
fix: tolerate stalled listing readers after quorum ( #3110 )
...
Co-authored-by: loverustfs <hello@rustfs.com >
2026-05-29 08:57:57 +08:00
安正超
d9c683decc
fix: retry namespace lock quorum contention ( #3098 )
...
* fix: retry namespace lock quorum contention
* fix(lock): treat remote lock rpc failures as hard
* fix(lock): classify lock contention timeout and avoid hard rollback blocks
* fix(lock): handle namespace lock quorum timeouts
* fix(lock): refine quorum contention handling
* fix(lock): refine unrecoverable quorum handling logs
* fix: address namespace lock quorum review feedback
* test: stabilize batch quorum timing tests
* fix(lock): classify remote quorum failures
* fix: drop remote lock timeout grace period
* fix: satisfy clippy on lock quorum error
* fix: classify remote lock rpc timeouts as hard failures
* fix: fast fail impossible lock quorum attempts
* fix: retry on transient timeout with pending cleanup
* fix: evict remote lock timeout connections
* refactor: avoid duplicate timeout eviction warning
---------
Co-authored-by: houseme <housemecn@gmail.com >
2026-05-28 01:35:00 +00:00
overtrue
f77e979e4a
fix: satisfy clippy for Snowball traversal test
2026-05-28 09:16:00 +08:00
overtrue
95836a0a4d
fix: reject Snowball extract path traversal
2026-05-28 08:32:13 +08:00
安正超
0875f09a39
fix: rebuild wiped disks during admin heal ( #3084 )
...
* fix: rebuild wiped disks during admin heal
* Preserve forceStart heal admission semantics
* Address heal regression test review comments
* fix(heal): address admin heal review comments
* fix(heal): fix force-start dedup and test polling
* fix(heal): address unresolved review comments
* fix(heal): simplify dedup key for clippy
---------
Co-authored-by: houseme <housemecn@gmail.com >
2026-05-26 21:54:29 +08:00
Demo Macro
5f5b1207e0
fix(ecstore): correct is_truncated logic in ListObjectsV2 pagination ( #2997 )
2026-05-25 14:59:19 +08:00
houseme
dcbffb084f
chore(deps): refresh workspace deps and linux fs_type gating ( #3030 )
...
* chore(deps): refresh workspace deps and linux fs_type gating
- refresh workspace dependency pins and lockfile updates
- remove now-unused crate dependency entries in multiple Cargo.toml files
- enable profiling export defaults in config and scripts/run.sh
- gate os::fs_type module/function/tests to Linux to avoid non-Linux dead_code warnings
* fix(utils): simplify fs_type linux gating
- keep fs_type module-level linux cfg in os::mod
- remove redundant linux cfg on get_fs_type and test module
* chore(deps): bump s3s git revision
- update workspace s3s dependency to rev 507e1312b211c3ddc214b03875d6fabd15d22ed5
- refresh Cargo.lock source entry for s3s
* chore(dev): allow mysql_async git source and env overrides
- allow mysql_async git source in deny.toml allow-git list
- make scripts/run.sh core env vars overrideable via existing shell env
* fix(utils): import get_fs_type in fs_type tests
- add explicit super::get_fs_type import in fs_type test module
- fix Linux E0425 unresolved function errors in unit tests
* chore(dev): tune run script observability defaults
- make profiling export env overrideable in scripts/run.sh
- set RUSTFS_OBS_SAMPLE_RATIO default from 2.0 to 1.0
- update allow-git review window comments in deny.toml
* test(obs): stabilize profiling env alias tests
2026-05-20 15:03:07 +00:00
houseme
73bde843d6
refactor(s3): consolidate semantic boundaries and remove s3-common ( #3012 )
...
* refactor(common): introduce rustfs-data-usage core crate
* refactor(concurrency): migrate workers crate into concurrency
* refactor(crypto): migrate appauth token APIs into crypto
* fix docs urls
* remove unused crate
* refactor(data-usage): switch consumers to rustfs-data-usage
* chore(fmt): apply cargo fmt and lockfile sync
* refactor(common): remove data_usage compatibility re-export
* refactor(capacity): move capacity_scope to object-capacity
* refactor(io-metrics): relocate internode metrics from common
* refactor(common): decouple scanner report from madmin
* chore(fmt): normalize import ordering after pre-commit
* refactor(s3): split s3 types and ops crates
* refactor(s3): centralize event version and safe parsing
* refactor(s3): add op-event compatibility guardrails
* refactor(s3): add runtime op-event mismatch observability
* refactor(s3): extract delete event mapping helper
* refactor(s3): extract put event mapping helper
* refactor(s3): consolidate remaining event semantic helpers
* refactor(s3): add op-event coverage checks and observability alerts
* refactor(s3-ops): consolidate op-event semantic mapping
* refactor(scanner): remove last_minute wrapper module
* refactor(scanner): consolidate duplicated data usage models
2026-05-19 12:50:25 +00:00
GatewayJ
e0729f5f4d
fix(policy): align action-family validation and defaults ( #2984 )
...
* fix(policy): align action-family validation and defaults
* test(e2e): add accountinfo service-account roundtrip
* test(policy): add mixed action family cases
2026-05-16 11:19:04 +00:00
yihong
824c4f7673
docs: fix some dead links ( #2975 )
...
Signed-off-by: yihong0618 <zouzou0208@gmail.com >
Co-authored-by: houseme <housemecn@gmail.com >
2026-05-16 10:06:53 +08:00
escapecode
5cda460451
fix(sftp): preserve OPEN-time client attrs as object metadata ( #2913 )
...
Co-authored-by: houseme <housemecn@gmail.com >
2026-05-15 00:32:06 +00:00
Henry Guo
c1bcee327c
fix(notify): keep live listen events active when disabled ( #2952 )
...
Co-authored-by: houseme <housemecn@gmail.com >
2026-05-13 17:10:14 +00:00
Sergei Z.
8c49671161
Fix #2775 recursive list handling in LocalDisk::scan_dir() ( #2923 )
...
Co-authored-by: houseme <housemecn@gmail.com >
Co-authored-by: 安正超 <anzhengchao@gmail.com >
2026-05-13 14:36:23 +00:00
weisd
4ea805cbc0
fix: preserve pagination when max keys exceed limit ( #2943 )
...
Co-authored-by: houseme <housemecn@gmail.com >
2026-05-13 12:48:38 +00:00
houseme
129cb0f920
fix: make HeadObject consistent after write completion ( #2936 )
2026-05-13 03:27:38 +00:00
Henry Guo
941986b331
test(e2e): gate protocol runner by requested features ( #2912 )
2026-05-11 13:59:24 +00:00
houseme
53ec1b95d8
keep sftp e2e tests buildable ( #2897 )
2026-05-10 11:52:15 +00:00
安正超
c419cff348
test(sftp): cover init negotiation and platform gating ( #2896 )
2026-05-10 05:59:10 +00:00
escapecode
96b293bf8a
feat(sftp): add SFTPv3 protocol support ( #2875 )
...
Co-authored-by: houseme <housemecn@gmail.com >
2026-05-10 03:48:42 +00:00
houseme
8892cbbdd7
feat: enhance WebDAV support with features and directory operations ( #2856 ) ( #2892 )
...
Signed-off-by: giter <giter@users.noreply.github.com >
Signed-off-by: 安正超 <anzhengchao@gmail.com >
Co-authored-by: giter <giter@users.noreply.github.com >
Co-authored-by: 安正超 <anzhengchao@gmail.com >
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com >
Co-authored-by: Lijiajie <lijiajie@ffcode.net >
Co-authored-by: cxymds <Cxymds@qq.com >
Co-authored-by: loverustfs <hello@rustfs.com >
Co-authored-by: 唐小鸭 <tangtang1251@qq.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-05-09 16:45:09 +00:00
Sergei Z.
6275918d92
fix: empty-body requests without content length ( #2888 )
...
Co-authored-by: houseme <housemecn@gmail.com >
Co-authored-by: OmX <omx@oh-my-codex.dev >
2026-05-09 14:05:53 +00:00
houseme
fd37a7d01e
fix(targets): probe webhook health by host port ( #2854 )
2026-05-07 11:52:45 +00:00
GatewayJ
3130670157
test(object-lock): cover default retention delete marker ( #2836 )
2026-05-06 21:14:00 +00:00
GatewayJ
9e93d3f47a
fix(object-lock): materialize default retention metadata ( #2824 )
...
Signed-off-by: houseme <housemecn@gmail.com >
Co-authored-by: cxymds <Cxymds@qq.com >
Co-authored-by: loverustfs <hello@rustfs.com >
Co-authored-by: houseme <housemecn@gmail.com >
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com >
2026-05-06 13:48:12 +00:00
安正超
50ddec3ffc
fix: preserve data on self metadata copy ( #2819 )
...
Co-authored-by: cxymds <Cxymds@qq.com >
2026-05-06 06:28:36 +00:00
GatewayJ
090d60e00a
fix(auth): authorize DeleteObjects per key ( #2814 )
2026-05-06 00:47:36 +00:00
安正超
3208f930c5
fix(s3): advertise byte ranges on head object ( #2802 )
2026-05-05 04:29:25 +00:00
weisd
334184b005
fix(replication): prevent target state loss across buckets ( #2704 )
2026-04-27 09:27:33 +00:00
weisd
468dc3aebd
fix(replication): fan out single-bucket rules to all targets ( #2701 )
2026-04-27 06:51:19 +00:00
cxymds
94f64acc87
fix(site-replication): sync IAM and bucket replication ( #2671 )
2026-04-25 01:33:43 +00:00
唐小鸭
d949d4e794
fix: avoid sending HEAD bodies over TLS HTTP/2 ( #2648 )
...
Signed-off-by: 唐小鸭 <tangtang1251@qq.com >
Signed-off-by: houseme <housemecn@gmail.com >
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com >
Co-authored-by: houseme <housemecn@gmail.com >
Co-authored-by: loverustfs <hello@rustfs.com >
2026-04-25 01:33:08 +00:00
weisd
f08b592c6f
fix(storage): list prefix children behind marker objects ( #2643 )
2026-04-22 11:23:27 +00:00
weisd
a0f1bb4ff0
fix(lock): prevent stale distributed object locks ( #2633 )
2026-04-22 02:12:33 +00:00
安正超
177fe2ab44
fix(replication): clean targets when deleting config ( #2599 )
2026-04-19 11:33:01 +00:00
安正超
1d1f00470d
test(s3): cover signed equals object reads ( #2598 )
2026-04-19 02:11:16 +00:00
安正超
b8c788ffca
fix: handle raw URI paths in SigV4 ( #2593 )
...
Co-authored-by: houseme <housemecn@gmail.com >
2026-04-18 17:09:00 +00:00
安正超
f9b5ad17a9
fix(s3): ignore empty conditional ETag headers ( #2592 )
...
Co-authored-by: houseme <housemecn@gmail.com >
2026-04-18 15:27:46 +00:00
houseme
478720d2ee
Centralize lifecycle state updates and fix systemd running status ( #2567 )
2026-04-17 03:20:11 +00:00
houseme
6ce24f3b63
feat(lifecycle): improve ILM compatibility and scanner runtime config ( #2534 )
...
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: cxymds <Cxymds@qq.com >
2026-04-16 10:28:03 +00:00
Tunglies
579b124726
lint: clippy rules or_fun_call ( #2561 )
...
Co-authored-by: houseme <housemecn@gmail.com >
2026-04-16 02:48:39 +00:00
Tunglies
f57dd5a3c7
chore(lint): clippy rules needless_collect ( #2522 )
2026-04-15 10:00:03 +00:00
安正超
68d3dba9fc
fix: revert standalone #2351 artifacts (phase 5) ( #2535 )
2026-04-14 22:35:05 +08:00
安正超
458086dc80
fix(get): remove GET chunk fast path ( #2507 )
2026-04-12 23:12:23 +08:00
houseme
64508ae770
fix(storage): align archive content-encoding with S3 semantics ( #2496 )
2026-04-12 02:14:52 +08:00
Mohamed Zenadi
c8c71e34b6
fix(storage): fix critical bug in range calculation ( #2493 )
...
Signed-off-by: Mohamed Zenadi <zeapo@users.noreply.github.com >
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
2026-04-12 00:20:15 +08:00
houseme
b8c45fc9e3
fix(get-object): harden GET fast path against mid-stream regressions ( #2472 )
2026-04-10 21:38:29 +08:00
weisd
a8a2aaa460
fix(ecstore): avoid duplicate keys in ListObjectsV2 ( #2467 )
2026-04-10 11:29:23 +08:00
安正超
c4b5b00d9c
Merge branch 'main' into feat/kms-vault-transit2
2026-04-07 19:16:28 +08:00
weisd
0b99e02891
feat(ecstore): add stale multipart upload cleanup ( #2416 )
2026-04-07 18:57:07 +08:00