Skip to content

[coverage] Conformance findings: CUSTOMHDR-002 #541

Open

Description

@peco-engineer-bot

Summary

Surfaced by the multi-language coverage fan-out while conformance-testing these SPEC-IDs against databricks/databricks-sql-nodejs. Each finding is committed as an expected-failure (xfail) test in the coverage PR — the test asserts the CORRECT (post-fix) behavior and stays red until THIS driver (databricks/databricks-sql-nodejs) is fixed, then flips green as a tripwire.

Findings

  • CUSTOMHDR-002 [sea]: SEA statements client sends Accept-Encoding: gzip instead of the required explicit identity on ExecuteStatement, negotiating HTTP response compression over base64-of-LZ4-Arrow inline results
    • failing test: SEA requests decline response compression by default (see the coverage PR diff under tests/)
  • CUSTOMHDR-002: SEA statements client sends Accept-Encoding: gzip instead of the required explicit identity on ExecuteStatement, so it negotiates HTTP response compression on top of base64-encoded LZ4-compressed Arrow inline results (gzipping already-compressed bytes: wasted server and client CPU, and a gzipped JSON envelope that can be larger on the wire than the raw binary)

Reproduce & Expected

CUSTOMHDR-002 — SEA (Statement Execution API) inline results are LZ4-compressed Arrow, base64-encoded and wrapped in a JSON envelope.

Reproduce:

SELECT 1 AS value

Expected (per the shared spec):

  • result has exactly 1 row(s)
  • col 0, row 0 == 1 (type Int32)
  • full assertion contract:
result:
- row_count: 1
- column:
    index: 0
    row: 0
    type: Int32
    equals: 1
protocol:
  sea:
  - request_header:
      operation: ExecuteStatement
      name: Accept-Encoding
      equals: identity

Context

Activity

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

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions