connect_retries
and connect_timeout
parameters don't have an effect
#778
Labels
bug
Something isn't working
Describe the bug
The
connect_retries
andconnect_timeout
parameters in theprofiles.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 theconnect_retries
andconnect_timeout
have the documented effects, but theretry_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:
retry_all
parameter.a) Add transient exceptions to the
retryable_exceptions
listb) Set
retry_all
to true by default (not sure about the side effects though)c) Forward the
connect_retries
andconnect_timeout
parameters 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 ofconnect_retries
: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
: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.
The text was updated successfully, but these errors were encountered: