houseme
d632d98a62
Merge branch 'main' into overtrue/fix-1911-ilm-metadata-decommission
2026-08-23 12:27:46 +08:00
houseme
84eb5aebef
fix(ecstore): remove inline write debug noise ( #6408 )
...
* fix(ecstore): remove inline write debug noise
Co-Authored-By: heihutu <heihutu@gmail.com >
* fix(ecstore): satisfy warning-as-error lints
Co-Authored-By: heihutu <heihutu@gmail.com >
---------
Co-authored-by: heihutu <heihutu@gmail.com >
2026-08-23 12:07:20 +08:00
overtrue
b91cb365c4
fix(ecstore): remove redundant clone in test
2026-08-23 09:50:28 +08:00
overtrue
32436e322a
fix(ecstore): clear rio-v2 lint errors
2026-08-23 05:27:57 +08:00
overtrue
12f56c9ebd
fix(ecstore): fence decommission cancellation
2026-08-23 05:22:29 +08:00
cxymds
20d1266496
fix(heal): fence format repair during pool transitions ( #6342 )
...
* fix(heal): fence format repair during pool transitions
* fix(heal): fence format writes during transitions
2026-08-23 04:24:48 +08:00
overtrue
acc37b49c8
test(ecstore): cover final sweep cancel fence
2026-08-23 03:21:15 +08:00
overtrue
2379bfb5a3
fix(ecstore): fence final decommission sweep
2026-08-23 03:15:33 +08:00
overtrue
4527b003cc
fix(ecstore): remove duplicate decommission error helper
2026-08-23 03:00:41 +08:00
overtrue
c83aa7f974
Merge remote-tracking branch 'origin/main' into overtrue/fix-1911-ilm-metadata-decommission
...
# Conflicts:
# crates/ecstore/src/core/pools.rs
2026-08-23 02:58:32 +08:00
Zhengchao An
26e6508b64
fix(ecstore): reject equal-time latest identity conflicts before index fallback ( #6374 )
2026-08-23 01:42:11 +08:00
cxymds
87235ffd28
perf(ecstore): bound decommission entry workers ( #6360 )
2026-08-23 01:40:03 +08:00
houseme
f1b92af4a3
feat(ecstore): coalesce GET ReadVersion RPCs ( #6395 )
2026-08-23 01:15:38 +08:00
Zhengchao An
7c1a76dfd9
fix(ecstore): fence deletes against decommission commits ( #6363 )
...
* fix(ecstore): fence deletes against decommission commits
* fix(ecstore): preserve decommission target write locks
* fix(ecstore): preserve delete markers during source cleanup
* fix(ecstore): route batch delete markers to active pools
* fix(ecstore): preserve batch delete pool errors
* fix(ecstore): retain source-set lock during cleanup
* test(ecstore): exercise decommission delete fences
* test(ecstore): finish decommission delete fence scenario
* fix(ecstore): reuse fixed fence for reverse decommission
* fix(ecstore): fence decommission commit loss
* fix(ecstore): annotate batch delete fallback
* test(ecstore): fix decommission fence fixtures
* fix(ecstore): unblock decommission delete fences
* fix(ecstore): preserve distributed decommission set locks
* fix(ecstore): match decommission lock backend domain
* test(ecstore): align decommission fence barriers
* fix(ecstore): satisfy delete fence lint checks
* fix(rebalance): preserve access-denied delete errors
2026-08-23 00:40:38 +08:00
overtrue
b6f135f0fe
fix(ecstore): drop removed decommission test import
2026-08-22 23:28:14 +08:00
overtrue
b07f0a92a8
merge: sync main into ILM decommission fix
2026-08-22 22:55:14 +08:00
cxymds
2fccfdeabe
fix(scanner): fence timed out scan cycles ( #6352 )
...
* fix(scanner): fence timed out scan cycles
* fix(scanner): cancel scan workers with cycle scope
* fix(scanner): reject persisted timer overflow
* fix(scanner): reject terminal leadership epochs
* fix(scanner): reject trailing cycle state bytes
2026-08-22 14:38:18 +00:00
Zhengchao An
9815694301
fix(ecstore): supervise decommission worker cleanup ( #6372 )
2026-08-22 14:33:24 +00:00
houseme
0e79106c2f
fix(storageclass): use div_ceil for inline threshold to match shard size calc ( #6390 )
...
The inline_block threshold used floor division (DEFAULT_INLINE_OBJECT_BUDGET
/ data_shards) while shard_file_size uses ceiling division (div_ceil). For
EC 12:4 with 256KiB objects, this caused a 1-byte discrepancy:
- inline_block = 262144 / 12 = 21845 (floor)
- shard_file_size = 262144.div_ceil(12) = 21846 (ceil)
- should_inline(21846, 12, false) = false (wrong!)
Fix by using div_ceil for the inline_block calculation, so both sides
use the same rounding and the inline path is correctly triggered.
Co-authored-by: heihutu <heihutu@gmail.com >
2026-08-22 22:05:20 +08:00
cxymds
da90d02c15
test(ecstore): cover suspended-owner heal semantics ( #6348 )
...
* test(ecstore): cover suspended-owner heal semantics
* test(heal): cover suspended owner production path
2026-08-22 20:45:03 +08:00
唐小鸭
a930152d5a
fix(admin): expose per-target disableProxy through remote target admin API ( #6376 )
...
The read-proxy selector already honors a target's disable_proxy flag
(PR #6172 ), but the admin API still rejected the field, so the only way
to set it was importing a MinIO-written bucket-targets.json.
- move disableProxy from REMOTE_TARGET_UNSUPPORTED_FIELDS to
REMOTE_TARGET_WRITABLE_FIELDS (set-remote-target create accepts it)
- add TargetUpdateOp::Proxy so set-remote-target?update=true&proxy=true
overlays only the proxy group (MinIO TargetUpdateType parity)
- bump REMOTE_TARGET_CAPABILITY_CONTRACT_VERSION 1 -> 2 and update the
runtime capability pin tests
- keep edge/edgeSyncBeforeExpiry rejected (no implementation behind them)
- pin that a published TargetClient carries disable_proxy, the field the
proxy-target selector consults
Refs rustfs/backlog#1950
2026-08-22 20:43:52 +08:00
cxymds
f9d45e41e1
fix(quota): account compressed deletes by committed size ( #6365 )
2026-08-22 11:39:01 +00:00
overtrue
34a52a1e7d
fix(ecstore): restore decommission test imports
2026-08-22 19:13:21 +08:00
overtrue
fe2d166cd3
fix(ecstore): distinguish active ILM target cleanup
2026-08-22 18:43:05 +08:00
overtrue
c687f95260
fix(ecstore): preserve active ILM source journals
2026-08-22 18:43:05 +08:00
overtrue
fe66aa509e
test(ecstore): isolate durable ILM scenario stack
2026-08-22 18:43:05 +08:00
overtrue
918686bd4e
test(ecstore): compile multi-source ILM recovery
2026-08-22 18:43:05 +08:00
overtrue
ee7a82ec1f
test(ecstore): cover durable ILM recovery boundaries
2026-08-22 18:43:05 +08:00
overtrue
3229ce05e3
fix(ecstore): repair durable ILM receipt recovery
2026-08-22 18:43:04 +08:00
overtrue
7428f3138c
fix(ecstore): harden durable ILM cursor receipts
2026-08-22 18:43:04 +08:00
overtrue
cf0a78ce11
fix(ecstore): avoid terminal receipt shadowing
2026-08-22 18:43:04 +08:00
overtrue
7bda7f4825
fix(ecstore): re-export durable ILM checkpoint
2026-08-22 18:43:04 +08:00
overtrue
20a8c443af
fix(ecstore): anchor decommission ILM receipts
2026-08-22 18:43:04 +08:00
overtrue
948ee1fc52
fix(ecstore): close ILM receipt recovery gaps
2026-08-22 18:43:04 +08:00
overtrue
ecd779b6f3
fix(ecstore): track ILM recovery across decommission
2026-08-22 18:43:04 +08:00
overtrue
619fae2512
fix(ecstore): verify ILM metadata before decommission
2026-08-22 18:43:04 +08:00
overtrue
4f9d22bda7
fix(ecstore): migrate ILM metadata during decommission
2026-08-22 18:43:04 +08:00
Zhengchao An
1a3be70d98
fix(ecstore): preserve remote delete error types ( #6371 )
2026-08-22 17:07:02 +08:00
cxymds
a34310a58f
fix(ecstore): fail closed on unresolved decommission entries ( #6367 )
...
* fix(ecstore): fail closed on unresolved decommission entries
* perf(ecstore): avoid successful listing name clone
2026-08-22 14:12:28 +08:00
cxymds
2e60029079
perf(ecstore): throttle decommission checkpoints ( #6356 )
2026-08-22 13:49:23 +08:00
houseme
2f0918f60b
feat(disk): fsync dedicated blocking pool (default-off) ( #6366 )
2026-08-22 11:24:24 +08:00
Zhengchao An
37c5ce1399
docs(agents): streamline instruction routing ( #6358 )
2026-08-22 08:19:53 +08:00
Zhengchao An
61b5edf16e
chore(ecstore): standardize 24 bare TODO/FIXME to tracked format ( #6346 )
2026-08-22 07:09:32 +08:00
Zhengchao An
bc07cfd115
ci: harden test selection and nightly coverage ( #6341 )
2026-08-21 15:04:08 +00:00
cxymds
adb90fc6e1
fix(scanner): defer usage publication during pool recovery ( #6333 )
...
* fix(scanner): defer usage publication during pool recovery
* fix(scanner): preserve metrics when publication is deferred
* fix(scanner): route test types through storage boundary
* fix(scanner): keep cache floor deferred during movement
2026-08-21 17:32:59 +08:00
cxymds
cdfac5d7e3
fix(ecstore): avoid decommission walk deadline on backpressure ( #6332 )
...
fix(ecstore): bound decommission background walks
2026-08-21 17:32:12 +08:00
GatewayJ
23a0f6324c
fix(iam): preserve MinIO permanent credentials in migration ( #6328 )
...
* fix(iam): preserve MinIO permanent credentials in migration
* test(iam): cover MinIO credential migration end to end
2026-08-21 15:34:25 +08:00
houseme
122a69df65
feat(ecstore): tune fdatasync group wait budget ( #6327 )
...
* feat(ecstore): tune fdatasync group wait budget
Co-Authored-By: heihutu <heihutu@gmail.com >
* test(ecstore): cover fdatasync wait budget contract
Co-Authored-By: heihutu <heihutu@gmail.com >
---------
Co-authored-by: heihutu <heihutu@gmail.com >
2026-08-21 14:08:21 +08:00
houseme
4283591838
feat(ecstore): observe PUT commit lock admission ( #6319 )
...
* feat(ecstore): observe PUT commit lock admission
Co-Authored-By: heihutu <heihutu@gmail.com >
* update h2 v0.4.18
* test(e2e): box SSE-KMS negative errors
Co-Authored-By: heihutu <heihutu@gmail.com >
---------
Co-authored-by: heihutu <heihutu@gmail.com >
2026-08-21 01:18:53 +00:00
Zhengchao An
d22cb5d07a
fix: resolve release-blocking integration failures ( #6320 )
...
* fix: resolve release-blocking integration failures
* fix: satisfy stable clippy lints
* fix: satisfy Rust 1.98 CI lints
2026-08-21 06:39:29 +08:00