Skip to content

fix: reduce snowplow telemetry timeout from 5s to 1s#2

Open
claygeo wants to merge 10 commits intomainfrom
fix/snowplow-quick-connection-timeout
Open

fix: reduce snowplow telemetry timeout from 5s to 1s#2
claygeo wants to merge 10 commits intomainfrom
fix/snowplow-quick-connection-timeout

Conversation

@claygeo
Copy link
Copy Markdown
Owner

@claygeo claygeo commented Mar 30, 2026

Summary

Fixes dbt-labs#9989

An unreachable snowplow collector previously stalled dbt for up to several seconds (or longer when the underlying TCP stack holds the connection open past the application timeout) at the end of every invocation.

Reduces both the POST and GET timeouts in TimeoutEmitter from 5.0 to 1.0 seconds so the failure is near-instant for users with no internet access or a firewalled collector endpoint.

Test plan

  • python -m pytest tests/unit/test_tracking.py -v — 7 tests pass
  • New tests in TestTimeoutEmitter verify both HTTP methods use a timeout ≤ 2s
  • Manual: disconnect from internet, run dbt run — should exit within ~1s of the last model finishing rather than hanging 5+ seconds

ash2shukla and others added 2 commits March 30, 2026 19:33
…labs#12746)

* Ensure that alias in dbt_project.yml check are checked with plus prefix

* add changie
* fix: suppress stacktrace when snapshot validation fails

Catches ValidationError in the CLI postflight decorator alongside
DbtException, so users see just the error message instead of a full
stacktrace when snapshots are missing required configuration.

Fixes dbt-labs#12692

* fix: import order and changelog format

---------

Co-authored-by: chinar-amrutkar <chinar-amrutkar@users.noreply.github.com>
@claygeo claygeo force-pushed the fix/snowplow-quick-connection-timeout branch 3 times, most recently from 16bdeb8 to 6905e64 Compare March 30, 2026 18:39
MichelleArk and others added 7 commits March 30, 2026 17:15
Co-authored-by: fa-assistant <77991023+fa-assistant@users.noreply.github.com>
* add tracking for catalog count

* add catalog_type tracking

* add changie

* fix failing ut

* fix type hints
An unreachable snowplow collector previously stalled dbt for up to 5s
(or longer if the underlying TCP stack held the connection open) at the
end of every invocation. Reduce both the POST and GET timeouts in
TimeoutEmitter to 1s so the failure is near-instant for users with no
internet access or a firewalled collector endpoint.

Closes dbt-labs#9989
@claygeo claygeo force-pushed the fix/snowplow-quick-connection-timeout branch from 6905e64 to 5751f0e Compare April 1, 2026 15:23
Addresses review feedback:
- Remove leftover <<<<<<< HEAD conflict marker in test_tracking.py
- Remove duplicate changelog YAML (the original Fixes-20260329 entry
  already covers this change)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[Feature] Quick connection timeout for anonymous snowplow tracking

4 participants