gouline/dbt-metabase

Upgrade to v0.9.11 from v0.9.10 introduces timeout exception

DustyShap opened this issue · 5 comments

I can run the dbt-metabase models command on v0.9.10 and it runs as expected. If I bump to v0.9.11, I encounter a timeout (using the exact same command/arguments).

requests.exceptions.ReadTimeout: HTTPSConnectionPool(host='our.metabase.host', port=443): Read timed out. (read timeout=30)

Metabase v0.46.1
dbt-core version 1.4.6

That's intended behaviour, no timeouts means it can hang forever. There have been improvements in API request performance in more recent versions though, so try migrating to the latest and if you are still encountering timeouts, we can look into what can be made configurable there. Older versions (like 0.9.11) will not be patched.

@gouline I bumped to v0.9.15 and still seeing the below,

requests.exceptions.ConnectionError: HTTPSConnectionPool(host='our.analytics.com', port=443): Max retries exceeded with url: /api/database/16/metadata?include_hidden=True (Caused by ReadTimeoutError("HTTPSConnectionPool(host='our.analytics.com', port=443): Read timed out. (read timeout=15)"))

How long does that request actually take?

Typically 5-10 seconds, but let me test it a bit to get a better number. Is there a way to override the timeout value to make it longer?

Timeout is current 15s, if the request took 5-10s, it wouldn't time out. There is currently no way to override it, but depending on how long your Metabase API request that times out actually takes, I'll decide between just raising the timeout (easier) or adding configuration (harder).