Skip to content

Resume no longer takes a false fork on multi-range queries

Pre-release
Pre-release

Choose a tag to compare

@github-actions github-actions released this 27 Jul 15:17
· 12 commits to main since this release

Resume no longer takes a false fork on multi-range queries

Core

  • Resuming a query with disjoint ranges no longer forks spuriously — the recovered cursor's hash was sent as the parent-linkage anchor for every configured range. For a later, disjoint range the cursor is not the predecessor of that range's first block, so the portal answered a linkage mismatch and the run took a false fork. The anchor is now carried only on the range that continues directly from the cursor; later ranges start unanchored and re-establish the anchor from their own first block.
  • A cyclic or deeply nested payload no longer crash-loops the pipe — the metrics preview packer recursed with no depth or cycle guard and overflowed the stack. It now truncates beyond depth 8.

Chains (EVM)

  • Pre-London and pre-Cancun blocks decode againbaseFeePerGas, blobGasUsed and excessBlobGas are absent on older blocks and on some chains, but the header codec required them and rejected otherwise valid headers. All three are optional now, and tolerate an explicitly null value.
  • Per-transaction blobGasUsed and blobGasPrice (EIP-4844) can be selected and decoded — the portal served them, the transaction shape omitted them.

Targets

  • The Parquet target reports profiler spans — the user onData handler, the finalized-row flush, and each checkpoint's publish and cursor write now appear in the flame chart, the /profiler endpoint and OTEL, as they already did for the ClickHouse, BigQuery and Postgres targets.

Full Changelog: pipes-v1.0.0-alpha.19...pipes-v1.0.0-alpha.20