overtrue
d5648b52a7
fix(ecstore): remove duplicate activation test import
2026-08-23 01:09:40 +08:00
overtrue
e05fe7c014
Merge origin/main into overtrue/fix-1905-activation-fence
2026-08-23 00:52:29 +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
ac57641e9b
fix(ecstore): align activation fence test imports
2026-08-23 00:22:53 +08:00
overtrue
f5f5212abd
Merge origin/main into overtrue/fix-1905-activation-fence
2026-08-22 23:58:53 +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
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
overtrue
07bac4978e
test(ecstore): observe decommission lock attempt
2026-08-22 12:37:47 +08:00
overtrue
d908f00f01
test(ecstore): scope rebalance disk trait import
2026-08-22 12:34:25 +08:00
overtrue
b8e9170cb0
test(ecstore): fix activation fence synchronization
2026-08-22 12:34:25 +08:00
overtrue
4fdc1c3a85
fix(ecstore): repair rebalance entry runtime failures
2026-08-22 12:34:25 +08:00
overtrue
89e910df3a
fix(ecstore): repair rebalance test imports
2026-08-22 12:34:25 +08:00
overtrue
04bafeb662
fix(rebalance): preserve committed activation recovery
2026-08-22 12:34:25 +08:00
overtrue
afbb842dbf
fix(ecstore): adopt activations after durable commit
2026-08-22 12:34:25 +08:00
overtrue
8d97f3570d
fix(ecstore): fence multipart staging on rebalance lock loss
2026-08-22 12:34:25 +08:00
overtrue
4cce1b2e3b
fix(rebalance): cancel admin stop before activation wait
2026-08-22 12:34:25 +08:00
overtrue
8b0e96c314
test(ecstore): exercise real rebalance fences
2026-08-22 12:34:25 +08:00
overtrue
3677482f9f
fix(ecstore): fence rebalance commits and unblock stop
2026-08-22 12:34:24 +08:00
overtrue
ce3cd2d890
fix(ecstore): commit rebalance activation after persistence
2026-08-22 12:34:24 +08:00
overtrue
c20fe73d6f
fix(ecstore): fence stale rebalance workers
2026-08-22 12:34:24 +08:00
overtrue
dc0c64689b
fix(ecstore): satisfy rebalance activation clippy checks
2026-08-22 12:34:24 +08:00
overtrue
1a59f8ef6b
test(ecstore): reuse rebalance metadata fixture
2026-08-22 12:34:24 +08:00
overtrue
a69fb0882d
fix(ecstore): repair rebalance fence test wiring
2026-08-22 12:34:24 +08:00
overtrue
209d3481da
test(ecstore): exercise lost rebalance commit fence
2026-08-22 12:34:24 +08:00
overtrue
d4b297186f
fix(ecstore): close rebalance activation races
2026-08-22 12:34:24 +08:00
overtrue
814e17b02a
fix(ecstore): bind rebalance workers to activation id
2026-08-22 12:34:24 +08:00
overtrue
a72deafc9f
fix(ecstore): fence lost activation locks
2026-08-22 12:34:24 +08:00
overtrue
bb2ac2758f
fix(ecstore): fence rebalance and decommission activation
2026-08-22 12:34:24 +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
houseme
762919b1ba
perf(scanner): reduce per-object allocation churn ( #6318 )
...
Co-authored-by: heihutu <heihutu@gmail.com >
2026-08-20 16:47:48 +00:00
houseme
b2e573c48b
feat(ecstore): bound put commit lock admission ( #6315 )
...
Co-authored-by: heihutu <heihutu@gmail.com >
2026-08-20 23:33:17 +08:00
houseme
114bf5148c
refactor(heal): prune statistics label helpers ( #6312 )
...
Co-authored-by: heihutu <heihutu@gmail.com >
2026-08-20 22:43:59 +08:00
houseme
198a07d3fa
feat(ecstore): observe put commit lock wait ( #6310 )
2026-08-20 21:47:30 +08:00
houseme
cd399d1e72
feat(ecstore): add default-off rename early ack probe ( #6306 )
2026-08-20 19:20:01 +08:00