马登山
bbb479aec0
Merge remote-tracking branch 'origin/cxymds/fix-1358-opaque-transition-metadata' into cxymds/fix-1358-fleet-version-gate
2026-07-29 09:29:17 +08:00
马登山
b912ef977f
test(tiering): bind version drift fixture
2026-07-29 09:28:13 +08:00
马登山
37d157b3ad
Merge remote-tracking branch 'origin/cxymds/fix-1358-opaque-transition-metadata' into cxymds/fix-1358-fleet-version-gate
2026-07-29 08:30:04 +08:00
马登山
237564b82d
Merge remote-tracking branch 'origin/main' into cxymds/fix-1358-opaque-transition-metadata
2026-07-29 08:29:39 +08:00
马登山
4a31d64f0d
Merge remote-tracking branch 'origin/cxymds/fix-1358-opaque-transition-metadata' into cxymds/fix-1358-fleet-version-gate
2026-07-29 08:16:26 +08:00
马登山
05e3db6674
test(tiering): persist version identity drift
2026-07-29 08:15:46 +08:00
马登山
94a5e27114
Merge remote-tracking branch 'origin/cxymds/fix-1358-opaque-transition-metadata' into cxymds/fix-1358-fleet-version-gate
2026-07-29 07:56:22 +08:00
houseme
775279b6fd
fix(notify): defer disabled bootstrap storage refresh ( #5373 )
...
Co-authored-by: heihutu <heihutu@gmail.com >
2026-07-28 17:39:22 +00:00
马登山
c442b0f449
test(tiering): reach destination identity guard
2026-07-28 21:07:27 +08:00
马登山
bfccbe1088
Merge remote-tracking branch 'origin/cxymds/fix-1358-opaque-transition-metadata' into cxymds/fix-1358-fleet-version-gate
2026-07-28 20:15:10 +08:00
马登山
58305bf479
test(tiering): exercise free-version identity guard
2026-07-28 20:14:33 +08:00
马登山
eff1d0c219
Merge branch 'cxymds/fix-1358-opaque-transition-metadata' into cxymds/fix-1358-fleet-version-gate
2026-07-28 19:40:09 +08:00
马登山
c22d9d316b
test(tiering): accept strict missing journal errors
2026-07-28 19:39:54 +08:00
马登山
bf985f58bc
Merge branch 'cxymds/fix-1358-opaque-transition-metadata' into cxymds/fix-1358-fleet-version-gate
...
# Conflicts:
# crates/ecstore/src/set_disk/ops/object.rs
2026-07-28 19:16:13 +08:00
马登山
9b2953ee5d
test(tiering): pin empty exact cleanup guard
2026-07-28 19:05:05 +08:00
马登山
3d63a755a9
fix(tiering): replay exact cleanup journals
2026-07-28 19:00:30 +08:00
马登山
b3b3eb57af
fix(tiering): accept unversioned transition responses
2026-07-28 18:53:25 +08:00
马登山
4839096440
fix(tiering): preserve remote version state on delete
2026-07-28 18:18:44 +08:00
cxymds
eb755e2b97
fix(auth): compare sensitive tokens in constant time ( #5371 )
...
* fix(auth): compare sensitive tokens in constant time
* test(auth): scope constant-time source guard
* test(auth): ignore test source in comparison guard
* chore(deps): use constant-time s3s authentication
2026-07-28 17:56:22 +08:00
马登山
4d8088ddbd
Merge remote-tracking branch 'origin/main' into cxymds/fix-1358-opaque-transition-metadata
...
# Conflicts:
# crates/ecstore/src/set_disk/ops/object.rs
2026-07-28 17:49:18 +08:00
cxymds
7f146fc5de
feat(tiering): model provider version capabilities ( #5372 )
2026-07-28 17:42:08 +08:00
cxymds
5426237a49
fix(filemeta): preserve canonical version order ( #5353 )
2026-07-28 17:38:59 +08:00
cxymds
d7afa4e38e
fix(heal): report partial rename failures ( #5355 )
...
* fix(heal): report partial rename failures
* fix(log-analyzer): track partial heal rename failures
2026-07-28 17:37:02 +08:00
cxymds
a3f5a8eaf9
fix(ecstore): fence object tagging updates ( #5360 )
...
* fix(ecstore): fence object tagging updates
* test(ecstore): stabilize tagging lock regressions
* test(ecstore): restore setup type on current-thread runtime
2026-07-28 17:36:00 +08:00
cxymds
547c678eed
fix(filemeta): reject positive size without parts ( #5354 )
...
* fix(filemeta): reject positive size without parts
* test(ecstore): keep optimized read fixture valid
* test(ecstore): keep listing fixtures valid
2026-07-28 17:35:53 +08:00
cxymds
df945b275a
fix(lifecycle): recover saturated scanner tasks ( #5369 )
2026-07-28 17:30:52 +08:00
cxymds
2e78a49c95
fix(lifecycle): reject invalid modification times ( #5370 )
2026-07-28 17:23:21 +08:00
cxymds
7ad0e726db
fix(ecstore): use set read quorum for version reads ( #5365 )
...
* fix(ecstore): use set read quorum for version reads
* fix(ecstore): convert optimized read batch errors
2026-07-28 17:23:15 +08:00
cxymds
45c3386b68
fix(bitrot): reject trailing shard data ( #5358 )
...
* fix(bitrot): reject trailing shard data
* test(ecstore): align bitrot disk fixture type
2026-07-28 17:23:08 +08:00
cxymds
7af92b4f54
fix(ecstore): handle pre-epoch disk health clocks ( #5383 )
2026-07-28 17:22:26 +08:00
cxymds
daa627ee0e
fix(auth): enforce presigned URL expiry limit ( #5368 )
...
* fix(auth): enforce presigned URL expiry limit
* ci(deny): allow presigned expiry s3s fork
* chore(deps): update presigned expiry validation
2026-07-28 17:11:30 +08:00
cxymds
5c3d3a8220
fix(ecstore): handle mutex poisoning explicitly ( #5379 )
...
* fix(ecstore): handle mutex poisoning explicitly
* test(ecstore): satisfy poison assertion lint
2026-07-28 17:09:09 +08:00
cxymds
6bc5fc77b5
fix(notify): emit noop event for missing deletes ( #5381 )
2026-07-28 17:05:10 +08:00
cxymds
e822fc1552
fix(swift): enforce cumulative container quotas ( #5378 )
2026-07-28 17:05:04 +08:00
cxymds
2f6115e058
fix(swift): enforce TempURL IP restrictions ( #5377 )
2026-07-28 17:04:58 +08:00
cxymds
882e1a71b1
fix(tiering): abort failed multipart restores ( #5367 )
...
* fix(tiering): abort failed multipart restores
* fix(tiering): compile restore abort regressions
* test(tiering): assert restored multipart metadata
* test(tiering): parse completed restore status
2026-07-28 17:04:52 +08:00
cxymds
b432f31c2c
fix(multipart): preserve retried parts on quorum failure ( #5363 )
...
* fix(multipart): preserve retried parts on quorum failure
* style(multipart): format transaction rollback
* fix(proto): regenerate multipart transaction RPCs
* fix(multipart): import rollback marker constant
* fix(multipart): export transaction action
* fix: import multipart transaction test requests
2026-07-28 17:04:46 +08:00
cxymds
6e0640444e
fix(multipart): list uploads across all sets ( #5362 )
2026-07-28 17:04:40 +08:00
cxymds
4fb9b0dc7f
fix(authz): fail closed on policy load errors ( #5359 )
...
* fix(authz): fail closed on policy load errors
* test(authz): cover policy failure precedence
* test: align policy failure expectations
* test: align upload part copy fail-closed expectation
2026-07-28 17:04:35 +08:00
唐小鸭
2216f00cfd
fix(kms): unify persisted SSE data key envelopes ( #5343 )
...
* feat(kms): implement secure handling of static KMS secret keys and enhance encryption context validation
* feat: enhance local SSE DEK handling with JSON envelope format and versioning
2026-07-28 17:02:18 +08:00
cxymds
fd2a87d47e
fix(s3): reject empty multipart completions ( #5352 )
...
Co-authored-by: houseme <housemecn@gmail.com >
2026-07-28 08:35:50 +00:00
马登山
8e591e64d9
fix(tiering): gate remote version state writes
2026-07-28 16:16:09 +08:00
马登山
821e056f70
fix(tiering): gate remote version state safely
2026-07-28 15:10:53 +08:00
马登山
a6695f6d30
merge: stack provider version semantics
2026-07-28 14:10:56 +08:00
马登山
837286f959
feat(tiering): persist opaque remote versions
2026-07-28 13:37:43 +08:00
马登山
f65ac198dc
feat(tiering): model provider version capabilities
2026-07-28 13:20:36 +08:00
houseme
1e10d752b9
test(e2e): stabilize inline full gate checks ( #5351 )
...
Align inline fast path cluster tests with the current tier mutation and manual transition contracts while keeping msgpack compat assertions focused on observed traffic.
Co-authored-by: heihutu <heihutu@gmail.com >
2026-07-28 04:31:19 +00:00
houseme
362f6026ac
chore(build): pin Rust toolchain configs to 1.97.1 ( #5350 )
...
Co-authored-by: heihutu <heihutu@gmail.com >
2026-07-28 03:53:32 +00:00
GatewayJ
5cedab09ab
fix(sts): return Query API-compatible responses ( #5282 )
...
* fix(sts): return Query API-compatible responses
* fix(sts): resolve review and CI failures
* fix(sts): harden query response conversion
* test(e2e): stabilize transition conflict coverage
* fix(ilm): retry vanished transition admission CAS
* test(e2e): narrow transition overlap coverage
---------
Co-authored-by: houseme <housemecn@gmail.com >
2026-07-28 10:39:17 +08:00
houseme
d385cea7c6
test(lifecycle): add manual transition rollout harnesses ( #5346 )
...
* test(lifecycle): add manual transition rollout harnesses
Add a dedicated #1508 ignored E2E harness for non-empty manual transition rollout readback and a reusable Docker mixed-version harness entrypoint.
Co-Authored-By: heihutu <heihutu@gmail.com >
* test(lifecycle): satisfy rollout harness clippy
Use unwrap_or_default for the optional transition_failed report field while preserving the zero-default status readback behavior.
Co-Authored-By: heihutu <heihutu@gmail.com >
---------
Co-authored-by: heihutu <heihutu@gmail.com >
2026-07-28 00:04:47 +00:00