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

supabase / etl / 39294970188
81%

Build:
DEFAULT BRANCH: main
Ran 19 Oct 2026 05:40PM UTC
Jobs 1
Files 236
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

19 Oct 2026 05:32PM UTC coverage: 79.445% (+0.2%) from 79.291%
39294970188

push

github

web-flow
fix(ducklake): retry the right DuckDB errors, redact credentials (#1125)

* ducklake: classify DuckDB errors by type

DuckLake treated every DuckDB error as permanent, and its write, copy,
and inlining paths overrode that with retryable_until_classified, so a
rejected statement was retried as long as a lost connection.

duckdb-rs drops the exception type DuckDB records for a failure, but
DuckDB starts every message with it ("Catalog Error: ..."). DuckLake
now parses that prefix into DuckDbErrorType, mirroring DuckDB's
EXCEPTION_MAP. Transaction conflicts, I/O, HTTP, connection,
interrupt, and out-of-memory errors are retryable; the rest, and
messages without a known type, are permanent. A test pins the format
against the bundled DuckDB.

retryable_until_classified is gone. Write batches and copy inlining
now follow their cause: a missing table or column, a constraint
violation, or a rejected statement stops for an operator right away
instead of after local and pipeline retries. Sanitized DELETE and
UPDATE failures keep the DuckDB type, and report it, without the
message. An invalidated copy buffer stays explicitly retryable.

Blocking-operation deadlines now report DestinationTimeout, which is
retryable, instead of DestinationQueryFailed, which only the removed
helper made retryable on writes. DDL and lookup timeouts now retry.

Part of PIPE-1207.

* ducklake: redact catalog password in DuckDB errors

DuckDB's Postgres extension writes the catalog connection string,
password included, into errors such as a lost catalog connection.
DuckLake attached those errors as sources and logged them, so the
password reached logs, error chains, and table error state. Only the
attach setup step was redacted.

DuckDB errors now become RedactedDuckDbError, in etl_maintenance's
ducklake module, before they are logged or attached. It keeps only
the redacted message and no source, so walking the error chain cannot
reach the original text. In etl-destinations only the re... (continued)

425 of 521 new or added lines in 7 files covered. (81.57%)

7 existing lines in 4 files now uncovered.

52551 of 66148 relevant lines covered (79.44%)

10436.35 hits per line

Uncovered Changes

Lines Coverage ∆ File
41
82.61
-0.65% crates/etl-destinations/src/ducklake/batches.rs
26
83.76
0.05% crates/etl-destinations/src/ducklake/core.rs
26
53.03
1.74% crates/etl-maintenance/src/ducklake/runner.rs
2
93.35
-0.26% crates/etl-destinations/src/ducklake/client.rs
1
91.34
0.0% crates/etl-destinations/src/ducklake/metrics.rs

Coverage Regressions

Lines Coverage ∆ File
2
82.61
-0.65% crates/etl-destinations/src/ducklake/batches.rs
2
93.35
-0.26% crates/etl-destinations/src/ducklake/client.rs
2
83.76
0.05% crates/etl-destinations/src/ducklake/core.rs
1
53.03
1.74% crates/etl-maintenance/src/ducklake/runner.rs
Jobs
ID Job ID Ran Files Coverage
1 39294970188.1 19 Oct 2026 05:40PM UTC 236
79.44
GitHub Action Run
Source Files on build 39294970188
  • Tree
  • List 236
  • Changed 7
  • Source Changed 6
  • Coverage Changed 7
Coverage ∆ File Lines Relevant Covered Missed Hits/Line
  • Back to Repo
  • Github Actions Build #39294970188
  • 533c0c1e on github
  • Prev Build on main (#39260267084)
  • Next Build on main (#39296640087)
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE TRIAL · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc