Skip to content

Commit 5421d85

Browse files
docs(rc3): record the Windows CI exit-1 finding as an open item, and pin the CI + pack rows in the validation table
The branch CI is red on windows-2025 only: the MTP host reports Total 1813, Errors 0, Failed 0 and the step then returns exit code 1 with no further output. The same pattern is present on the 2026-09-14 commits (run 34880593081), so it predates this release work. It is not reproducible locally with the same SDK (11.0.100-rc.1.26425.128): the identical command under Git Bash returns 0 with and without CI=true/GITHUB_ACTIONS=true, and with stdout redirected to a file the way the runner captures a step. The next diagnostic step is an MTP diagnostic log on that runner, which needs a Windows runner to exercise, so the finding is recorded rather than glossed. The local 16-suite result (2,897 / 0 failed) stands, and the validation table now carries the CI and pack rows explicitly.
1 parent 14ef1e3 commit 5421d85

1 file changed

Lines changed: 19 additions & 6 deletions

File tree

docs/2.1.0-RC.3_WHAT_CHANGED.md

Lines changed: 19 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -17,11 +17,12 @@
1717
| Gate | Command | Result |
1818
|---|---|---|
1919
| Test suites | every `IsTestProject` assembly run through its MTP host, Release, `net11.0` | **2,897 tests across 16 suites — 0 failed, 0 errors, 16 skipped** |
20+
| CI (GitHub Actions) | `CI v2.1 Preview (.NET 11)` on `release/v2.1.0.0-RC.3` | ubuntu **passes**; the `windows-2025` job exits 1 in `Test` while reporting 0 failures — see §5 item 1 |
2021
| Write-path regression gate | `SharpCoreDB.Benchmarks.Comparative --gate` | **PASSED** (nothing slower than baseline × 1.5) |
2122
| Comparative CRUD | `…Comparative` (100K inserts, 10K reads/updates/deletes) | see §3 |
2223
| Fair-PK arms | `…Comparative --pk`, `--pk --engine=pagebased`, `--pk-default` | see §4 |
2324
| Multi-row INSERT shape | `…Comparative --multirowinsert` | 52,742 rows/s (product default, this session) |
24-
| Pack | `dotnet pack` on the CI solution filter | all packages produced at `2.1.0-RC.3` |
25+
| Pack | `dotnet pack` on the CI solution filter | 27 packages, all at `2.1.0-RC.3`, 0 errors |
2526

2627
Suite breakdown (core and companions):
2728

@@ -206,17 +207,29 @@ artifacts for the shipped default; the throughput band moves with machine load.
206207

207208
## 5. What is still behind, stated plainly
208209

209-
1. **INSERT on the fair-PK shape is ~1.4× behind SQLite** (1.9× on the pure default config). The
210+
1. **GitHub Actions, Windows job only: `Test (net11.0)` exits 1 while the MTP host reports
211+
0 failures.** Run [35187405051](https://github.com/MPCoreDeveloper/SharpCoreDB/actions/runs/35187405051)
212+
on `release/v2.1.0.0-RC.3`: the ubuntu job passes; the `windows-2025` job prints
213+
`SharpCoreDB.Tests Total: 1813, Errors: 0, Failed: 0, Skipped: 0` and then the step returns
214+
exit code 1 with no further output. The same pattern is present on the 2026-09-14 commits
215+
(e.g. run 34880593081), so it **predates this release work**. It is **not reproducible** on a
216+
local Windows box with the same SDK (`11.0.100-rc.1.26425.128`) and the identical command run
217+
under Git Bash — with and without `CI=true`/`GITHUB_ACTIONS=true`, and with stdout redirected to a
218+
file the way the runner captures a step: all return exit code 0. The next diagnostic step is an
219+
MTP diagnostic log on that runner (`--diagnostic --diagnostic-output-directory <dir>` on the test
220+
host) plus uploading it as an artifact, which needs a Windows runner to exercise. **The local
221+
16-suite result (2,897 / 0 failed) is unaffected; the branch CI badge is red on Windows.**
222+
2. **`INSERT` on the fair-PK shape is ~1.4× behind SQLite** (1.9× on the pure default config). The
210223
batched multi-row shape converted to a measured win in this line; the single-row statement path
211224
did not. The residual is the SQL/engine path per statement plus per-value write-through
212225
durability, not the storage I/O — the profile is in the plan §11.
213-
2. **PageBased UPDATE** (4.9× behind on the fixed-width layout) — instrumented, not yet fixed.
214-
3. **Pure-default (encrypted) throughput** is 1.3–1.6× behind the `NoEncryptMode` raw-speed posture
226+
3. **PageBased UPDATE** (4.9× behind on the fixed-width layout) — instrumented, not yet fixed.
227+
4. **Pure-default (encrypted) throughput** is 1.3–1.6× behind the `NoEncryptMode` raw-speed posture
215228
on every phase. `NoEncryptMode=true` remains the explicit, documented opt-out for benchmarks and
216229
speed-critical deployments; **the security default has not been weakened.**
217-
4. **Gate variance:** the write-path gate passed, but this session's rep spread reached 2.08× on a
230+
5. **Gate variance:** the write-path gate passed, but this session's rep spread reached 2.08× on a
218231
loaded machine, so ratios below ~1.3× in a single run are not attributable.
219-
5. **Single-file (`.scdb`) migration is one-way** for v1.x files (unchanged from v2.0, `.backup`
232+
6. **Single-file (`.scdb`) migration is one-way** for v1.x files (unchanged from v2.0, `.backup`
220233
preserved), and there is **no downgrade path** for the new inline-capacity layout: an older build
221234
reading a new file would misread its inline slots.
222235

0 commit comments

Comments
 (0)