Hacktoberfest 2026:維護者為十月標記出來的 issue,仍然開放、適合新手。 瀏覽 Hacktoberfest issue

[coverage] Conformance findings: ERRORRECOV-013

未關閉
#890 0 則留言 0 個 reaction 已指派 0 人 在 GitHub 檢視

還沒有人認領這個 Issue。

評估

難度
3/5
預估耗時
1-2 天
新手友好度
55/100
Issue 類型
缺陷
描述清晰度
基本清楚
活躍度
冷清
技術堆疊
python
領域
api, backend

研究方向

先閱讀 tests/ 下 coverage PR diff 中失敗的測試 test_rate_limit_retry_count_zero_disables_retries,然後追蹤用於 OpenSession 的 Thrift 重試設定。在持續回傳 429 的情況下,明確指定重試次數為 1 時恰好產生一次 OpenSession 呼叫,同時預設策略仍會重試,且錯誤包含指定的 rate-limit 文字,即表示完成。

由索引模型根據 Issue 內容生成。

描述

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

主要語言
Python
星號
233
分支
152
平均合併
21 小時 5 分鐘
30 天內合併 PR
10

貢獻指南

開啟貢獻指南

從這裡開始

  1. 先讀完整個 Issue,再讀專案的貢獻指南。
  2. 在 Issue 下留言說明你要接手 —— 這能避免兩個人做同樣的事。
  3. Fork 儲存庫,在一個分支上完成修改。
  4. 送出 Pull Request,並在描述裡引用這個 Issue 編號。

databricks/databricks-sql-python 的其他 Issue

查看 databricks/databricks-sql-python 的全部 Issue

相似的 Issue

更多 Python Issue

把新 issue 寄到你的電子郵件信箱

精選適合新手參與的 GitHub issue 摘要。