GV

GeezerVison

The World Wide Web, restored to 800 pixels of glory.

Home|About|Gaming cabinet|Archives|How it works|Starter sites

On this site

  • Sign in
  • ActionsCI/CD and automation
  • CodespacesCloud development environments
  • All Features
  • Documentation
  • Training
  • Certifications
  • Build with Copilot
  • Customize Copilot
  • Integrations
  • Trending repos
  • GitHub Sponsors
  • Developer articles
  • Enterprises

This view

  • Original page
  • New address

GeezerVison is showing github.com — [coverage] Conformance findings: ERRORRECOV-013 · Issue #890 · databricks/databricks-sql-python

[coverage] Conformance findings: ERRORRECOV-013 #890

New issue
Copy link
New issue
Copy link
Open
Open
[coverage] Conformance findings: ERRORRECOV-013#890
Copy link

Description

@peco-engineer-bot
peco-engineer-bot
bot
opened on Aug 4, 2026
Issue body actions

Summary

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

Findings

  • ERRORRECOV-013 [thrift]: Thrift backend ignores an explicit disable-retries retry count: _retry_stop_after_attempts_count=1 still yields 2 OpenSession attempts under a persistent 429 (the count becomes urllib3's total, which raises MaxRetryError only after the extra attempt); the kernel/SEA backend honours the same kwarg correctly
    • failing test: test_rate_limit_retry_count_zero_disables_retries (see the coverage PR diff under tests/)

Reproduce & Expected

ERRORRECOV-013 — Validate the rate-limit retry COUNT knob (the reference driver's RateLimitRetry), as distinct from the retry TIME BUDGET that ERRORRECOV-010 covers.

Expected (per the shared spec):

  • [thrift] exactly 1 OpenSession call(s)
  • [sea] exactly 1 CreateSession call(s)
  • full assertion contract:
result:
- label: retries_disabled
  error:
    contains:
    - '429'
    - too many requests
    - rate
- label: default_policy
  error:
    contains:
    - '429'
    - too many requests
    - rate
protocol:
  thrift:
  - label: retries_disabled
    call_count:
      method: OpenSession
      expected: 1
  - label: default_policy
    call_min:
      method: OpenSession
      min: 2
  sea:
  - label: retries_disabled
    call_count:
      operation: CreateSession
      expected: 1
  - label: default_policy
    call_min:
      operation: CreateSession
      min: 2

Context

  • The behavior was first fixed in a DIFFERENT driver — reference PR: https://github.com/databricks/databricks-odbc/pull/180 — which seeded the shared language-neutral spec. This issue tracks the same conformance gap in databricks/databricks-sql-python; the reference PR is for cross-referencing the intended behavior, NOT a change to this repo.
  • Coverage PR carrying the reproducing xfail test(s): https://github.com/databricks/databricks-driver-test/pull/1109

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

      You are visitor 01402503 — GeezerVison does not store the pages you look up.
      Best viewed with Netscape Navigator 4.7 or Internet Explorer 6 at 800×600. No cookies required.