Skip to content

[coverage] Conformance findings: SESSION-017 #653

Description

@peco-engineer-bot

Summary

Surfaced by the multi-language coverage fan-out while conformance-testing these SPEC-IDs against adbc-drivers/databricks. 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 (adbc-drivers/databricks) is fixed, then flips green as a tripwire.

Findings

  • SESSION-017 [sea]: SEA/REST path ignores adbc.databricks.http_request_timeout: StatementExecutionConnection builds its HandlerConfig without setting HttpRequestTimeout, so RetryHttpHandler keeps the 900s default and a caller-supplied 2s per-request deadline never fires (the 5s delayed status request is waited out and the query succeeds); Thrift honors the same option
    • failing test: RequestTimeoutBoundsDelayedRequestAndZeroSelectsDefault (see the coverage PR diff under tests/)
  • SESSION-017: SEA/REST path ignores adbc.databricks.http_request_timeout: StatementExecutionConnection builds its HttpHandlerFactory.HandlerConfig without setting HttpRequestTimeout, so RetryHttpHandler keeps the 900s default and a caller-supplied per-request deadline is never applied (a 2s deadline waits out a 5s delayed status request and succeeds); Thrift honors the same option

Reproduce & Expected

SESSION-017 — Validates the connection-level HTTP request/socket timeout option: the per-request transport deadline that applies to every request the driver issues on a connection (connect through response-body co…

Reproduce:

SELECT count(*) FROM range(1, 100000000)
SELECT 1 AS test_value

Expected (per the shared spec):

  • completes without an exception
  • result has exactly 1 row(s)
  • full assertion contract:
result:
- error_thrown: true
  context: positive_timeout
  description: 'The 2-second deadline aborts the delayed request rather than waiting
    out the

    5-second delay.

    '
- error_message_contains_any:
  - timeout
  - timed out
  - deadline
  - cancel
  context: positive_timeout
  description: 'Case-insensitive. The error identifies a timeout/deadline rather than
    an

    unrelated transport or server failure.

    '
- no_exception: true
  context: zero_timeout
  description: 'With the option set to 0 the 5s-delayed request is NOT aborted - the
    query

    completes. Satisfied whether the driver reads 0 as "use my default deadline"

    or as "no deadline"; only an immediate zero-length deadline fails here.

    '
- row_count: 1
  context: zero_timeout
  description: SELECT 1 returns its single row, proving the request completed normally.

Context

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