[coverage] Conformance findings: ERRORRECOV-013
Ninguém assumiu esta issue ainda.
Avaliação
- Dificuldade
- 3/5
- Tempo estimado
- 1-2 dias
- Facilidade para iniciantes
- 55/100
Direção de pesquisa
Comece lendo o teste que está falhando test_rate_limit_retry_count_zero_disables_retries no diff da PR de coverage em tests/ e, em seguida, rastreie a configuração de retry do Thrift usada para OpenSession. O trabalho estará concluído quando uma contagem explícita de retries igual a 1 produzir exatamente uma chamada a OpenSession sob um 429 persistente, enquanto a política padrão continuar fazendo retries e o erro contiver o texto de rate limit especificado.
Escrita pelo modelo de indexação a partir do texto da issue.
Descrição
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 undertests/)
- failing test:
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
OpenSessioncall(s) - [sea] exactly 1
CreateSessioncall(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
- Linguagem predominante
- Python
- Estrelas
- 233
- Forks
- 152
- Merge médio
- 21h 5min
- PRs com merge (30d)
- 10
Guia de contribuição
Primeiros passos
- Leia a issue inteira e depois o guia de contribuição do projeto.
- Comente na issue dizendo que vai assumir — evita que duas pessoas façam o mesmo trabalho.
- Faça um fork do repositório e trabalhe em uma branch.
- Abra um pull request que referencie o número da issue.
Mais de databricks/databricks-sql-python
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 78/100
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 76/100
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 78/100
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 72/100
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 84/100
Todas as issues de databricks/databricks-sql-python
Issues semelhantes
-
fix: inaccuracy ⚠️
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 72/100
uabrc/uabrc.github.io#1255 · 1 comentário ·
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 84/100
ethereum-optimism/factory#64 ·
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 90/100
duckdb/duckdb-python#627 ·
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 68/100
-
Add link for tutorial Abertadocumentation
Dificuldade 1/5 Menos de uma hora Facilidade para iniciantes 78/100
Qiskit/qiskit-addon-sqd#376 ·