fix(indexeddb): finish upgrade opens after transaction completion - #427
fix(indexeddb): finish upgrade opens after transaction completion#427ldm0 wants to merge 1 commit into
Conversation
Spider Bench A/B✅ All benchmark browser service runs completed; results are informational. Public HEAD: 184 / 240 rows; 38 / 48 sites produced rows; 10 unexpected empty sites. ✅ Deterministic fixture contract is clean. Common ancestor Public 48-site run · informational
Public-site content, timing, and memory are noisy. This single A/B run reports evidence only; site outcome counts explain missing rows without treating them as a deterministic regression. CPU and memory timelinesThese are bounded 40-point views of the same complete process-tree samples used by the HTML report. CPU uses 100% per occupied logical core; memory lines are RSS first and PSS second when complete PSS samples are available. Basexychart-beta
title "Base CPU"
x-axis "Elapsed seconds" [1.04, 1.542, 2.542, 4.043, 5.546, 6.547, 8.049, 9.551, 10.551, 12.053, 13.555, 14.557, 16.059, 17.561, 18.562, 20.065, 21.567, 22.568, 24.069, 25.571, 26.572, 28.074, 28.574, 29.575, 30.576, 32.078, 33.579, 34.579, 36.081, 37.583, 38.583, 40.084, 41.585, 42.586, 44.087, 45.589, 46.59, 47.09]
y-axis "CPU percent" 0 --> 500
line [61.96, 123.67, 139.87, 125.95, 165.91, 135.7, 167.8, 111.97, 105.93, 125.94, 105.78, 5.99, 31.98, 77.98, 121.76, 6, 23.94, 0, 139.9, 123.87, 117.67, 143.84, 124.06, 143.77, 67.94, 135.79, 27.98, 39.99, 111.93, 73.96, 130.04, 62.02, 0, 111.89, 124.07, 101.93, 111.89, 211.77]
xychart-beta
title "Base memory: RSS then PSS"
x-axis "Elapsed seconds" [0.04, 1.04, 1.542, 2.542, 4.043, 5.546, 6.547, 8.049, 9.551, 10.551, 12.053, 13.555, 14.557, 16.059, 17.561, 18.562, 20.065, 21.567, 22.568, 24.069, 25.571, 26.572, 28.074, 28.574, 29.575, 30.576, 32.078, 33.579, 34.579, 36.081, 37.583, 38.583, 40.084, 41.585, 42.586, 44.087, 45.589, 46.59, 47.09, 47.631]
y-axis "Memory MiB" 0 --> 500
line [12.34, 90.25, 107.32, 113.6, 144.31, 184.66, 161.08, 181.08, 162.15, 179.59, 160.45, 154.73, 152.57, 203.15, 160.83, 153.34, 149.16, 141.26, 137.2, 176.43, 165.24, 176.32, 190.5, 203.65, 177.69, 166.02, 170.2, 147.67, 148.66, 149.42, 156.64, 176.43, 175.71, 154.56, 172.2, 167.49, 163.48, 178.41, 200.93, 0]
line [8.95, 86.59, 103.47, 109.84, 140.48, 181.38, 157.26, 177.2, 158.33, 175.83, 156.63, 150.91, 148.75, 198.58, 157, 149.52, 145.69, 137.43, 133.37, 172.66, 161.44, 172.49, 186.67, 199.84, 173.86, 162.2, 166.36, 143.84, 144.83, 145.59, 152.81, 172.61, 171.88, 150.74, 168.37, 163.67, 159.69, 174.54, 197.2, 0]
HEADxychart-beta
title "HEAD CPU"
x-axis "Elapsed seconds" [1.036, 1.536, 2.538, 3.538, 4.038, 4.538, 5.54, 6.542, 8.044, 9.046, 10.547, 12.048, 13.05, 14.051, 14.552, 16.054, 17.054, 18.554, 19.556, 21.059, 22.563, 23.563, 25.065, 26.567, 27.568, 29.071, 30.072, 31.574, 33.074, 34.075, 35.577, 37.08, 38.081, 39.583, 40.584, 42.086, 43.588, 44.59]
y-axis "CPU percent" 0 --> 500
line [63.82, 133.76, 133.78, 116.02, 120.05, 183.74, 233.64, 139.65, 131.82, 137.88, 87.96, 111.9, 121.72, 0, 3.99, 6, 0, 84, 87.8, 25.95, 141.63, 95.91, 149.97, 145.85, 101.91, 131.89, 131.82, 145.79, 23.96, 107.88, 5.99, 137.79, 49.96, 5.98, 69.96, 117.89, 67.93, 121.92]
xychart-beta
title "HEAD memory: RSS then PSS"
x-axis "Elapsed seconds" [0.034, 1.036, 1.536, 2.538, 3.538, 4.038, 4.538, 5.54, 6.542, 8.044, 9.046, 10.547, 12.048, 13.05, 14.051, 14.552, 16.054, 17.054, 18.554, 19.556, 21.059, 22.563, 23.563, 25.065, 26.567, 27.568, 29.071, 30.072, 31.574, 33.074, 34.075, 35.577, 37.08, 38.081, 39.583, 40.584, 42.086, 43.588, 44.59, 45.91]
y-axis "Memory MiB" 0 --> 500
line [12.39, 90.34, 110.89, 116.31, 136.86, 150.83, 172.26, 165.65, 190.24, 153.04, 176.92, 164.49, 163.82, 167.51, 152.64, 130.85, 135.13, 135.13, 142.95, 143.61, 137.91, 175.87, 151.24, 156.1, 185.55, 200.83, 167.53, 172.42, 176.5, 145.77, 144.89, 154.22, 200.95, 170.36, 158.75, 167.35, 165.69, 157.97, 167.39, 0]
line [8.95, 86.57, 107.12, 112.66, 133.09, 147.17, 168.33, 162.12, 186.57, 150.55, 173.16, 160.68, 160.04, 163.7, 148.83, 127.04, 131.32, 131.32, 138.43, 139.9, 134.1, 172.26, 146.96, 152.3, 181.74, 198.02, 163.71, 168.61, 172.73, 141.96, 141.08, 150.43, 196.18, 166.53, 154.94, 163.54, 161.9, 154.16, 163.62, 0]
Deterministic fixture · required contractThe fixture exercises 15 routes: 8 are expected to emit rows and 7 intentionally exercise empty, loading, or timeout behavior.
Full HTML, JSON, CSV, logs, and page snapshots: workflow run and full The public-web A/B is informational. The exact HEAD fixture contract runs as a separate required CI check; timing and public-site content deltas remain non-blocking. |
Sequential Navigation Soak A/B✅ HEAD completed the 200-navigation resilience and memory observation. One browser process, one target, and one CDP session navigate CSDN → SegmentFault → Huaban → example.com repeatedly. This run issued 200 Common ancestor Session resilience
A public-page failure is reported separately from an unrecoverable session. The soak requires all navigation attempts, zero failed recovery, zero lifecycle/network ordering violations, and complete resource evidence. Process-tree memory
HEAD memory by 50-navigation quarter
Raw reports and per-navigation boundary samples: workflow run and full Public-site timing and memory are observational. Use the A/B deltas and trend shape as evidence, not as a deterministic performance threshold. |
CI Regression ReportSource CI run · source state at render:
Release regression — ✅ HEAD/base failures 0/0; raw binary −0.000189%Package and image size
Startup latency and PSS
Concurrency matrix
Frontend differential — ✅ 1,020/1,020 cases matched; 0 issues
Agent episodes · Moli vs Chromium — ✅ 8/8 Moli episodes passed; 0 failures
Runtime and CDP session contracts — ✅ 26 contract cases; 0 failures
CDP smoke — ✅ 46/46 groups passed; 466 scenariosWorkers: 4 · cumulative group time: 127.14 s · failed groups: 0
All artifact fields are parsed by the trusted default-branch renderer; missing or invalid inputs remain visible as unavailable. |
Retain the exact open request until normal transaction request draining and checkpoint deactivation complete. Publish open success or error in a separate task, handle aborted/closed provisional connections, and preserve FIFO among waiting open/delete requests. Remove eager upgrade-completion and duplicate blocked-request dispatch paths. Update selected-task boundary regressions and add Chromium-calibrated CDP coverage for migration, microtasks, rollback, deletion order and SVG-gated application startup.
a7938ba to
5f491b6
Compare
Dependency / merge order
Stacked on #426 (
fix/svg-create-rect) so this PR contains exactly one IndexedDB commit. The dependency is the combined SVG-gated application-startup smoke, not the IndexedDB implementation. Merge #426 first, then rebase this commit onto main and retarget this PR; if #426 is squash-merged, do not merge the old SVG commit a second time.Summary
Validation
cargo fmt --allandgit diff --checkpassed.