马登山
|
4c13ddd17a
|
fix(tier): add operator transition reconciliation
|
2026-07-29 11:22:33 +08:00 |
|
马登山
|
fc254f6318
|
fix(tiering): bind recovery to transaction metadata
|
2026-07-29 10:14:56 +08:00 |
|
马登山
|
95c1022c80
|
Merge remote-tracking branch 'origin/cxymds/fix-1358-gcs-exact-generation' into cxymds/fix-1358-paginated-reconcile
|
2026-07-29 09:30:12 +08:00 |
|
马登山
|
49f07aff39
|
Merge remote-tracking branch 'origin/cxymds/fix-1358-fleet-version-gate' into cxymds/fix-1358-gcs-exact-generation
|
2026-07-29 09:29:40 +08:00 |
|
马登山
|
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 |
|
马登山
|
fa4e76172b
|
style(tier): format candidate validation test
|
2026-07-29 08:43:54 +08:00 |
|
马登山
|
0cec476966
|
Merge remote-tracking branch 'origin/cxymds/fix-1358-gcs-exact-generation' into cxymds/fix-1358-paginated-reconcile
|
2026-07-29 08:43:26 +08:00 |
|
马登山
|
9555899a96
|
fix(tier): reconcile paginated remote versions
|
2026-07-29 08:43:23 +08:00 |
|
马登山
|
a0efd8a447
|
Merge remote-tracking branch 'origin/cxymds/fix-1358-fleet-version-gate' into cxymds/fix-1358-gcs-exact-generation
|
2026-07-29 08:30:34 +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 |
|
马登山
|
f7affffa58
|
Merge remote-tracking branch 'origin/cxymds/fix-1358-fleet-version-gate' into cxymds/fix-1358-gcs-exact-generation
|
2026-07-29 08:16:50 +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 |
|
马登山
|
08d2907f72
|
Merge remote-tracking branch 'origin/cxymds/fix-1358-fleet-version-gate' into cxymds/fix-1358-gcs-exact-generation
|
2026-07-29 07:56:51 +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 |
|
马登山
|
60abc2c074
|
Merge remote-tracking branch 'origin/cxymds/fix-1358-fleet-version-gate' into cxymds/fix-1358-gcs-exact-generation
|
2026-07-28 20:15: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 |
|