[coverage] Conformance findings: ERRORRECOV-013
Personne n'a encore pris cette issue.
Évaluation
- Difficulté
- 3/5
- Temps estimé
- 1-2 jours
- Accessibilité débutants
- 55/100
Piste de recherche
Commencez par lire le test en échec test_rate_limit_retry_count_zero_disables_retries dans le diff du PR de coverage sous tests/, puis suivez la configuration de nouvelle tentative Thrift utilisée pour OpenSession. C’est terminé lorsqu’un nombre explicite de nouvelles tentatives égal à 1 produit exactement un appel à OpenSession sous un 429 persistant, tandis que la politique par défaut effectue toujours des nouvelles tentatives et que l’erreur contient le libellé de rate limit spécifié.
Rédigé par le modèle d'indexation à partir du texte de l'issue.
Description
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
- Langage dominant
- Python
- Étoiles
- 233
- Forks
- 152
- Merge moyen
- 21 h 5 min
- PR mergées (30 j)
- 10
Guide de contribution
Ouvrir le guide de contribution
Par où commencer
- Lisez l'issue en entier, puis le guide de contribution du projet.
- Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
- Forkez le dépôt et travaillez sur une branche.
- Ouvrez une pull request qui référence le numéro de l'issue.
Autres issues de databricks/databricks-sql-python
-
Difficulté 2/5 1-3 heures Accessibilité débutants 78/100
-
Difficulté 2/5 1-3 heures Accessibilité débutants 76/100
-
Difficulté 2/5 1-3 heures Accessibilité débutants 78/100
-
Difficulté 2/5 1-3 heures Accessibilité débutants 72/100
-
Difficulté 2/5 1-3 heures Accessibilité débutants 84/100
Toutes les issues de databricks/databricks-sql-python
Issues similaires
-
Difficulté 2/5 1-3 heures Accessibilité débutants 82/100
-
Difficulté 2/5 1-3 heures Accessibilité débutants 84/100
-
Difficulté 2/5 1-3 heures Accessibilité débutants 68/100
-
Difficulté 2/5 1-3 heures Accessibilité débutants 86/100
-
🐛 Bug 🔔 Pending processing
Difficulté 2/5 1-3 heures Accessibilité débutants 84/100
jumpserver/jumpserver#17584 ·