• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

supabase / etl / 25902608802
76%

Build:
DEFAULT BRANCH: main
Ran 15 May 2026 05:58AM UTC
Jobs 1
Files 182
Run time 1min
Badge
Embed ▾
README BADGES
x

If you need to use a raster PNG badge, change the '.svg' to '.png' in the link

Markdown

Textile

RDoc

HTML

Rst

15 May 2026 05:47AM UTC coverage: 77.218% (+0.2%) from 77.021%
25902608802

push

github

web-flow
Add clickhouse client- and server-side timeouts (#741)

* feat(error): add DestinationTimeout error kind

* feat(clickhouse): add ClickHouseClientConfig and thread through

Adds a sibling config struct to ClickHouseInserterConfig with per-operation
server-side timeout fields and a client_timeout_epsilon. Threaded through
ClickHouseDestination::new and ClickHouseClient::new; all existing callers
pass Default::default(). No behavior change yet: the new config field is
plumbed but not consulted.

* feat(clickhouse): wrap client calls in tokio::time::timeout

Adds TimeoutOp + timeout_call so each ClickHouseClient call is bound by
client_budget(server_budget) = server + epsilon. Server-side options
(connect_timeout, http_connection_timeout, http_send_timeout,
http_receive_timeout) are set globally; max_execution_time and
lock_acquire_timeout are applied per-call to DDL/TRUNCATE so they do not
leak into probe and schema_query budgets. Client-side deadlines surface as
DestinationTimeout.

* test(clickhouse): cover client_budget and timeout_call

Covers ClickHouseClientConfig::client_budget arithmetic, TimeoutOp::Display
matching the strings used in error messages, and timeout_call across its
three outcomes (deadline expired, inner error, success). Uses
tokio::test(start_paused = true) so the deadline test does not block on
real wall-clock time.

* ref(clickhouse): rename probe timeout, tighten config docs

Renames probe_server_timeout to connectivity_check_timeout and shortens
the doc-comments on ClickHouseClientConfig per review. Drops the epsilon
default from 5s to 4s.

* ref(clickhouse): rename TimeoutOp::Probe, drop timeout_kind()

Renames TimeoutOp::Probe to ConnectivityCheck (matching the
connectivity_check_timeout config field) and updates its Display string
to 'connectivity check'. Inlines ErrorKind::DestinationTimeout in
timeout_call and drops the now-trivial timeout_kind() helper.

* ref(clickhouse): let TimeoutOp drive the server budget

Adds Time... (continued)

237 of 240 new or added lines in 5 files covered. (98.75%)

20 existing lines in 5 files now uncovered.

30559 of 39575 relevant lines covered (77.22%)

944.78 hits per line

Uncovered Changes

Lines Coverage ∆ File
1
99.73
8.19% crates/etl-destinations/src/clickhouse/client.rs
1
0.0
0.0% crates/etl-examples/src/bin/clickhouse.rs
1
0.0
0.0% crates/etl-replicator/src/core.rs

Coverage Regressions

Lines Coverage ∆ File
7
78.37
1.6% crates/etl/src/replication/apply.rs
6
71.59
-1.7% crates/etl/src/workers/table_sync_copy.rs
3
87.32
-0.72% crates/etl-postgres/src/tokio/test_utils.rs
2
81.63
-1.36% crates/etl/src/replication/table_sync.rs
2
90.65
-0.57% crates/etl/src/workers/table_sync.rs
Jobs
ID Job ID Ran Files Coverage
1 25902608802.1 15 May 2026 05:58AM UTC 182
77.22
GitHub Action Run
Source Files on build 25902608802
  • Tree
  • List 182
  • Changed 15
  • Source Changed 9
  • Coverage Changed 15
Coverage ∆ File Lines Relevant Covered Missed Hits/Line
  • Back to Repo
  • Github Actions Build #25902608802
  • a03750df on github
  • Prev Build on main (#25796860467)
  • Next Build on main (#25910607620)
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc