Commit Graph

6359 Commits

Author SHA1 Message Date
overtrue 2ea71a8725 fix(ecstore): integrate verified rename preflight evidence 2026-09-05 12:30:42 +08:00
overtrue cbb494beb8 refactor(ecstore): preserve rename observations in commit module 2026-09-05 12:26:32 +08:00
overtrue c332ba3d41 test(ecstore): cover observed rename outer failures 2026-09-05 12:21:08 +08:00
overtrue c084a26a38 Merge remote-tracking branch 'origin/overtrue/fix/ecstore-write-completion' into overtrue/fix/ecstore-write-completion 2026-09-05 12:13:46 +08:00
overtrue 0658b228e1 fix(ecstore): preserve known preflight rename rejections 2026-09-05 12:08:28 +08:00
overtrue 0b8ccae25d Merge remote-tracking branch 'origin/main' into overtrue/fix/ecstore-core-regressions 2026-09-05 12:01:40 +08:00
overtrue 03726fc322 test(ecstore): count decommission faults across retry restarts 2026-09-05 12:01:40 +08:00
Zhengchao An c9202db5e1 Merge branch 'main' into overtrue/fix/ecstore-write-completion 2026-09-05 11:57:29 +08:00
Zhengchao An 918d6af726 Merge branch 'main' into overtrue/refactor/local-commit-boundary 2026-09-05 11:57:24 +08:00
overtrue 7b74dfddb0 fix(odm): resolve pagination Clippy failures 2026-09-05 11:55:42 +08:00
Zhengchao An 4b0d597d4d test(ecstore): fix sealed context fixture map type (#7161)
test(ecstore): match sealed context fixture map type
2026-09-05 11:54:24 +08:00
Zhengchao An 13e6424e99 docs(architecture): settle remote credential sealing threat model (#7168)
* docs(architecture): settle remote credential sealing threat model

* docs(architecture): index sealing ADR threat-model scope
2026-09-05 11:20:58 +08:00
overtrue e1f8cb9b89 Merge remote-tracking branch 'origin/main' into overtrue/fix/ecstore-core-regressions 2026-09-05 10:10:36 +08:00
overtrue 21e955ad29 test(odm): use app facade for listing wire types 2026-09-05 10:10:36 +08:00
overtrue 8fa93227e9 refactor(ecstore): remove moved quota fence import 2026-09-05 10:10:36 +08:00
overtrue 8ddc3cd436 Merge remote-tracking branch 'origin/main' into overtrue/refactor/local-commit-boundary 2026-09-05 10:01:42 +08:00
overtrue ccf8e2362c test(ecstore): match sealed context fixture map type 2026-09-05 10:01:42 +08:00
overtrue 2cb0425380 Merge remote-tracking branch 'origin/main' into overtrue/fix/ecstore-write-completion 2026-09-05 09:57:43 +08:00
overtrue daba4f7b32 test(ecstore): match sealed context fixture map type 2026-09-05 09:57:43 +08:00
overtrue 5513dadb78 test(ecstore): mark rollback fixtures as inline data 2026-09-05 09:57:43 +08:00
overtrue 19690eba7b fix(ecstore): retain indeterminate rename recovery evidence 2026-09-05 09:57:43 +08:00
overtrue dbe0073362 fix(ecstore): retain per-disk rename rollback outcomes 2026-09-05 09:57:43 +08:00
overtrue 2a6b2f31c7 refactor(ecstore): remove moved quota fence import 2026-09-05 09:56:41 +08:00
overtrue fe079cd2e8 refactor(ecstore): isolate local object rename commit 2026-09-05 09:54:53 +08:00
overtrue a732698586 refactor(ecstore): isolate metadata quorum decisions 2026-09-05 09:54:53 +08:00
overtrue 87c90c874d test(odm): match SDK bucket-root listing requests 2026-09-05 09:50:47 +08:00
overtrue bbcc51c124 test(ecstore): mark rollback fixtures as inline data 2026-09-05 09:50:47 +08:00
cxymds b33693fc19 feat(tier): fence legacy state reconciliation (#7144) 2026-09-05 01:42:24 +00:00
overtrue dacb617ff1 refactor(ecstore): isolate local object rename commit 2026-09-05 09:37:50 +08:00
overtrue 664f8c92ed fix(ecstore): retain indeterminate rename recovery evidence 2026-09-05 09:32:22 +08:00
overtrue 1c604f9b83 test(ci): require a fresh core JUnit report 2026-09-05 09:30:43 +08:00
overtrue 544bd1d7cf docs(odm): clarify folded source probe pagination 2026-09-05 09:30:26 +08:00
overtrue 286a5bed18 fix(ecstore): drain backfill checkpoint before confirmation 2026-09-05 09:30:26 +08:00
overtrue e83ace9533 fix(ecstore): drain backfill checkpoint before confirmation 2026-09-05 09:29:01 +08:00
Zhengchao An 9ed1d46090 docs(ecstore): define generation authority and recovery boundary (#7159) 2026-09-05 09:29:00 +08:00
overtrue 9e71b92f91 test(ecstore): match sealed context fixture map type 2026-09-05 09:28:46 +08:00
overtrue dd3de6d1c4 fix(odm): reject non-progressing listing cursors 2026-09-05 09:26:58 +08:00
overtrue b3b3eb0d36 fix(ecstore): retain PUT staging after incomplete rollback 2026-09-05 09:26:34 +08:00
overtrue 70be76c54e fix(ecstore): retain PUT staging after incomplete rollback 2026-09-05 09:26:12 +08:00
overtrue 6019391da7 docs(ecstore): define generation authority and recovery boundary 2026-09-05 09:25:58 +08:00
overtrue d8d9c02dcf fix(ecstore): retain per-disk rename rollback outcomes 2026-09-05 09:25:35 +08:00
overtrue 413b880b23 fix(ecstore): drain durable control-plane write tails 2026-09-05 09:24:54 +08:00
overtrue 6967c35074 test(ecstore): require core invariant tests in existing CI lane 2026-09-05 09:24:53 +08:00
overtrue de6ef09635 fix(ecstore): drain durable control-plane write tails 2026-09-05 09:24:29 +08:00
cxymds 6eb60f8e72 feat(tier): add durable probe intent protocol (#7151)
* feat(tier): add durable probe intent protocol

* test(tier): remove redundant intent clones
2026-09-05 09:06:05 +08:00
cxymds 8dd3cabd41 test(ecstore): stabilize transition generation fixture (#7140) 2026-09-05 00:46:19 +00:00
Zhengchao An e648f683bf fix: use BTreeMap for deterministic encryption context serialization (#7154)
SealScope::encryption_context() returned a HashMap whose key order is
non-deterministic. The FakeSealer test round-trips the context through
JSON serialization, and HashMap's random iteration order caused the
prefix comparison to intermittently fail with 'encryption context mismatch'.

Switch to BTreeMap which guarantees stable key ordering.
2026-09-05 07:21:25 +08:00
cxymds 193b1b7d3f test(ecstore): stabilize sealed context encoding (#7149) 2026-09-05 07:18:37 +08:00
hector 3b920c7999 ci: render step results and version in workflow reports (#7141)
* ci(upgrade): render an upgrade matrix in the report; fix from default

The upgrade report only ever showed the requested deb URLs and a case
table. The nightly chain runs died installing the OLD package (default
from_version 1.0.0-rc.4-preview.1 has no .deb asset on its release, and
release 1.0.0-rc.4 ships none either), leaving an empty Total: 0 report
with no indication of what was upgraded.

- Default from_version is now 1.0.0-rc.3 (ships rustfs_1.0.0.rc.3_amd64.deb).
  Matches the auto-testing default from PR #32.
- The report generator also parses the [UPG-TOPO] lines the suite now
  emits and renders an 'Upgrade Matrix' section: per topology and KMS
  backend, the versions actually in place before/after (captured via
  'rustfs --version' on the node) and the aggregated result. When the
  suite dies before any topology completes, the matrix says so instead
  of silently showing nothing.

* fix(ci): use English headers in the upgrade matrix table

* ci(heal,pool): render step results and version in the reports

The heal and pool-expansion reports were only a raw log tail: no
structured indication of which steps passed, no overall verdict, and no
version information for the cluster under test.

The suites now emit machine-readable lines (auto-testing PR):
  [HEAL-STEP] <n> <desc> PASS|FAIL     [POOL-STEP] <n> <desc> PASS|FAIL
  [HEAL-VERSION] <ver> (node <n>)      [POOL-VERSION] <ver> (node <n>)
  [HEAL-RESULT] PASS|FAIL <detail>     [POOL-RESULT] PASS|FAIL <detail>

Both report generators parse them and emit a '## Step Results' section
before the log tail: the version captured in place via 'rustfs --version'
on a node, the overall verdict, and a per-step table. When a run dies
before any step reports (old script or early crash), the table shows a
NOT RUN placeholder row instead of silently showing nothing.
2026-09-05 02:28:14 +08:00
cxymds 5f8b097172 fix(tier): bound distributed mutation latency (#7150) 2026-09-05 02:28:08 +08:00