`connect_retries` and `connect_timeout` parameters don't have an effect
I maintainer di solito rispondono entro 6 giorni
Nessuno ha ancora preso questa issue.
Valutazione
- Difficoltà
- 4/5
- Tempo stimato
- 3-5 giorni
- Idoneità per principianti
- 35/100
Direzione di ricerca
Inizia in dbt/adapters/databricks/connections.py, nel codice relativo ai tentativi intorno alle righe 778 e 1074, quindi confrontalo con i parametri documentati nella documentazione di configurazione di Databricks. Riproduci il problema usando il profiles.yml fornito e il comando dbt run; il lavoro è completo quando il comportamento documentato di connect_retries e connect_timeout è stato ripristinato oppure documentato accuratamente, incluso retry_all se rimane necessario.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
Describe the bug
The connect_retries and connect_timeout parameters in the profiles.yml don't have the effect that is described in the docs.
The retry functionality seems to be implemented, but the list of exceptions for which a retry happens is empty by default (here and here). It is possible to configure the connector to retry on all exceptions by setting retry_all: true and this will make the connect_retries and connect_timeout have the documented effects, but the retry_all parameter is not documented. I only found it while checking the code.
Depending on the desired behavior I see various ways to fix this:
- Keep the existing behavior and update the documentation. For example by adding the
retry_allparameter. - Change the existing behavior to match the documentation. For example:
a) Add transient exceptions to theretryable_exceptionslist
b) Setretry_allto true by default (not sure about the side effects though)
c) Forward theconnect_retriesandconnect_timeoutparameters to the databricks sql connector, if this is possible.
I would be willing to implement a fix or to take a deeper look into the implications of the various fixes I've described.
Steps To Reproduce
I've created a profiles.yml with invalid connection parameters and a high number of connect_retries:
databricks:
outputs:
test:
type: databricks
host: invalid
http_path: invalid
token: invalid
schema: schema
connect_retries: 1000
then executed dbt run
Expected behavior
I expect 1000 retries. Instead dbt tries to establish the connection for 15 minutes, like it does when connect_retries is set to 1 and then fails.
System information
The output of dbt --version:
Core:
- installed: 1.8.4
- latest: 1.8.5 - Update available!
Your version of dbt-core is out of date!
You can find instructions for upgrading here:
https://docs.getdbt.com/docs/installation
Plugins:
- spark: 1.8.0 - Up to date!
- databricks: 1.8.3 - Update available!
The operating system you're using:
Ubuntu 22.04
The output of python --version:
Python 3.10.12
Additional context
We use a classic warehouse on Azure for our daily jobs. By default dbt databricks tries for 15 minutes to establish a connection to the warehouse, but sometimes this is not enough for the warehouse to start.
- Lingua principale
- Python
- Stelle
- 391
- Fork
- 231
- Merge medio
- 9g 7h
- PR unite (30g)
- 29
Preparare l'ambiente
- Nessun Dockerfile né file Docker Compose
- Ha un modello di pull request
- Leggi la guida per i contributori
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Altre issue di databricks/dbt-databricks
-
persist_docs.columns triggers a full-plan probe query on views even when the model has no column docsForse già presa @DelorneN007 l’ha presa 59 giorni fa. Apertabug
Difficoltà 2/5 1-3 ore Idoneità per principianti 85/100
databricks/dbt-databricks#1680 · 1 commento ·
I maintainer di solito rispondono entro 6 giorni
-
bug
Difficoltà 2/5 Mezza giornata Idoneità per principianti 68/100
databricks/dbt-databricks#1003 · 1 commento ·
I maintainer di solito rispondono entro 6 giorni
-
Emit COMMENT and DEFAULT for function arguments and descriptions in CREATE FUNCTIONForse già presa @alvinism l’ha presa 7 giorni fa. Apertaenhancement
Difficoltà 4/5 3-5 giorni Idoneità per principianti 25/100
databricks/dbt-databricks#1764 ·
I maintainer di solito rispondono entro 6 giorni
-
bug
Difficoltà 4/5 3-5 giorni Idoneità per principianti 46/100
databricks/dbt-databricks#1762 ·
I maintainer di solito rispondono entro 6 giorni
-
Difficoltà 4/5 3-5 giorni Idoneità per principianti 45/100
databricks/dbt-databricks#1761 ·
I maintainer di solito rispondono entro 6 giorni
Tutte le issue di databricks/dbt-databricks
Issue simili
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 67/100
FinanceFlash/unvibecode#699 ·
I maintainer di solito rispondono entro 1 giorno
-
enhancement Website
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
OWASP/OWASP-Hunting#96 ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
micropython/micropython#19942 ·
I maintainer di solito rispondono entro 1 giorno
-
A rebuild posts "not part of this build" success to the commit's failed `nix-build` gate and effectsForse già presa @Padraic-O-Mhuiris l’ha presa oggi. Aperta
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
I maintainer di solito rispondono entro 1 giorno
-
`epoch.Integer` raises a raw OverflowError for integers too large to convert to a floatForse già presa @arindam77 l’ha presa oggi. Aperta
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
pydantic/pydantic-extra-types#479 ·
I maintainer di solito rispondono entro 1 giorno