Skip to content

feat(pipeline): retry on transient network errors#237

Merged
ddeboer merged 1 commit intomainfrom
feat/retry-network-errors
Mar 13, 2026
Merged

feat(pipeline): retry on transient network errors#237
ddeboer merged 1 commit intomainfrom
feat/retry-network-errors

Conversation

@ddeboer
Copy link
Member

@ddeboer ddeboer commented Mar 13, 2026

Summary

  • Retry SPARQL queries on transient network errors (ECONNRESET, ETIMEDOUT, fetch failed, etc.), not just HTTP 502/503/504. Uses the is-network-error library (already a transitive dependency via p-retry) to detect these failures.
  • Observed in the Dataset Knowledge Graph pipeline: entity-properties.rq failed with 'fetch failed' against sparql.goudatijdmachine.nl and was not retried.

Changes

  • executor.ts: add is-network-error check in renamed isTransientError (was isTransientHttpError)
  • package.json: add is-network-error as direct dependency
  • executor.test.ts: add tests for TypeError('fetch failed') and ECONNRESET retry scenarios

…503/504

- Add is-network-error to detect fetch failures (ECONNRESET, ETIMEDOUT, etc.)
- Rename isTransientHttpError to isTransientError to reflect broader scope
- Add tests for TypeError('fetch failed') and ECONNRESET retry scenarios
@ddeboer ddeboer enabled auto-merge (squash) March 13, 2026 19:21
@ddeboer ddeboer merged commit 0d77adc into main Mar 13, 2026
2 checks passed
@ddeboer ddeboer deleted the feat/retry-network-errors branch March 13, 2026 19:22
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.

1 participant