Skip to content

[auto-bump] [no-release-notes] dependency by reltuk#2874

Closed
coffeegoddd wants to merge 1 commit into
mainfrom
reltuk-49543365
Closed

[auto-bump] [no-release-notes] dependency by reltuk#2874
coffeegoddd wants to merge 1 commit into
mainfrom
reltuk-49543365

Conversation

@coffeegoddd

Copy link
Copy Markdown
Contributor

An Automated Dependency Version Bump PR 👑

Initial Changes

The changes contained in this PR were produced by `go get`ing the dependency.

```bash
go get github.com/dolthub/[dependency]/go@[commit]
```

@github-actions

Copy link
Copy Markdown
Contributor

This PR has been superseded by #2875

@github-actions github-actions Bot closed this Jun 25, 2026
@github-actions

Copy link
Copy Markdown
Contributor
Main PR
covering_index_scan_postgres 2478.34/s 2452.33/s -1.1%
groupby_scan_postgres 172.24/s 162.66/s -5.6%
index_join_postgres 862.46/s 867.30/s +0.5%
index_join_scan_postgres 1100.57/s 1088.16/s -1.2%
index_scan_postgres 33.57/s 33.42/s -0.5%
oltp_delete_insert_postgres 288.00/s ${\color{lightgreen}486.22/s}$ ${\color{lightgreen}+68.8\%}$
oltp_insert 382.06/s 356.60/s -6.7%
oltp_point_select 3883.99/s 3833.25/s -1.4%
oltp_read_only 3971.42/s 3929.15/s -1.1%
oltp_read_write 966.46/s ${\color{lightgreen}1672.62/s}$ ${\color{lightgreen}+73.0\%}$
oltp_update_index 422.84/s ${\color{red}321.64/s}$ ${\color{red}-24.0\%}$
oltp_update_non_index 529.08/s ${\color{red}360.71/s}$ ${\color{red}-31.9\%}$
oltp_write_only 1325.42/s 1259.42/s -5.0%
select_random_points 2429.56/s 2433.76/s +0.1%
select_random_ranges 1411.58/s 1417.38/s +0.4%
table_scan_postgres 31.24/s 31.47/s +0.7%
types_delete_insert_postgres 301.02/s ${\color{red}194.23/s}$ ${\color{red}-35.5\%}$
types_table_scan_postgres 11.30/s 11.12/s -1.6%

@itoqa

itoqa Bot commented Jun 25, 2026

Copy link
Copy Markdown

Ito QA test results
Commit: 0e3e530: 5 test cases ran, 0 failed ❌, 3 passed ✅, 2 additional findings ⚠️.

Summary

This run exercised database protocol hardening and restart durability behavior, including adversarial startup negotiation/input-conversion paths and persistence of relational constraints across restarts. Overall health for this change looks stable in the covered areas, with expected protections and data-integrity behavior holding under malformed input and restart conditions.

Safe to merge — the exercised behaviors did not show regressions attributable to this PR, and the failing scenarios are flagged as pre-existing rather than introduced by these changes. While there are known high-impact startup crash issues in edge compatibility paths, they are outside this diff and are follow-up work rather than a blocker for merging this PR now.

Tests run by Ito

View full run

Result Severity Type Description
Handshake Repeated SSLRequest and GSSEncRequest startup frames are rejected with "N" responses, and the server only enters authentication after a valid StartupMessage.
Query A malformed bind value for an INT4 parameter correctly returned a conversion error, and a control query confirmed no row updates were applied.
Storage Foreign key metadata and constraint behavior stayed consistent before and after restart with the same data directory; the earlier blocked result came from a harness hang after completion rather than an application defect.
⚠️ High severity Type Expected behavior: persisted type metadata round-trips across restart and the server stays available. Observed behavior: server exits with SIGSEGV because getContextValues dereferences ctx.Session when ctx is nil.
⚠️ High severity Type Expected behavior is that legacy persisted metadata remains readable after upgrade or fails with an explicit non-corrupting error. Actual behavior is a panic in startup deserialization, terminating the server (exit status 2).
Additional Findings Details

These findings are unrelated to the current changes but were observed during testing.

🟠 Restart panics while loading complex types
  • Severity: High High severity
  • Description: Expected behavior: persisted type metadata round-trips across restart and the server stays available. Observed behavior: server exits with SIGSEGV because getContextValues dereferences ctx.Session when ctx is nil.
  • Impact: Databases that use complex custom types can fail to come back up after a restart because type metadata deserialization panics, blocking normal data access until the server is fixed.
  • Steps to Reproduce:
    1. Start the server with authentication bypass used in this QA run and create enum/composite types with rows that use them.
    2. Stop the server and restart against the same data directory.
    3. Observe startup panic from type deserialization path: recursiveDeserializeType -> GetTypesCollectionFromContext -> getContextValues nil dereference.
  • Stub / mock content: Authentication was bypassed in the QA environment by setting the SCRAM gate to disabled so psql setup commands could run without password prompts; no mocks or route interceptions were used for type deserialization behavior.
  • Code Analysis: Inspected /tmp/output-agent-workspace/repo/server/types/serialization.go and /tmp/output-agent-workspace/repo/core/context.go. recursiveDeserializeType calls GetTypesCollectionFromContext(ctx, "") when typeColl is nil, and this path is reached from DeserializeType during startup schema decoding. GetTypesCollectionFromContext immediately calls getContextValues(ctx), and getContextValues dereferences ctx.Session without a nil guard, matching the panic stack. The codebase already documents nil contexts as invalid via IsContextValid(ctx), so the smallest practical fix is to guard nil ctx before dereferencing (for example in getContextValues and/or before recursive type lookup in deserialization). PR diff inspection shows only go.mod/go.sum dependency bumps, not direct edits to these crashing lines.
Evidence Package
🟠 Legacy metadata restart panic
  • Severity: High High severity
  • Description: Expected behavior is that legacy persisted metadata remains readable after upgrade or fails with an explicit non-corrupting error. Actual behavior is a panic in startup deserialization, terminating the server (exit status 2).
  • Impact: After upgrading, affected deployments can crash on startup when loading existing persisted complex type metadata, making the service unavailable until data is repaired or the binary is fixed. This blocks normal operation for impacted users on restart.
  • Steps to Reproduce:
    1. Prepare a data directory containing persisted complex type metadata (for example enum/composite objects).
    2. Start the upgraded doltgres server against that existing data directory.
    3. Allow startup to load table schemas and deserialize stored type strings.
    4. Observe process exit with a nil-pointer panic instead of readable metadata or an explicit compatibility error.
  • Stub / mock content: Test setup temporarily disabled authentication for local QA connectivity; no mocks or route interceptions were used for the deserialization path under test.
  • Code Analysis: The panic stack in evidence points to core/getContextValues dereferencing ctx.Session after GetTypesCollectionFromContext is called with ctx=nil. In server/types/serialization.go, recursiveDeserializeType fetches the type collection via GetTypesCollectionFromContext(ctx, "") without guarding nil context, and the callback registered in core/init.go forwards that same call path from deserialization. The failing path is in unchanged repository files; PR diff content is limited to go.mod/go.sum dependency bumps.
Evidence Package

Tip

Reply with @itoqa to send us feedback on this test run.

@github-actions

Copy link
Copy Markdown
Contributor
Main PR
Total 42090 42090
Successful 18270 18270
Failures 23820 23820
Partial Successes1 5334 5334
Main PR
Successful 43.4070% 43.4070%
Failures 56.5930% 56.5930%

Footnotes

  1. These are tests that we're marking as Successful, however they do not match the expected output in some way. This is due to small differences, such as different wording on the error messages, or the column names being incorrect while the data itself is correct.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants