Repository navigation
Release v0.27.2 - #38
Merged
Merged
Conversation
Bitcoin Core 31 answers a full RPC work queue with HTTP 503 and a plain-text body, which getRawTransaction classed as a fixed fault and retried ten times 500 ms apart against the overloaded node. HTTP 503 and 429 now take the same 5 s queue-full backoff as a JSON -429 error or a dropped socket, with a regression test for each path. (cherry picked from commit 1431a57)
…ll verdict A block with many poison transactions could run its retry ladder longer than the stall window, so the decoder read as wedged, got restarted, and lost its in-memory retry counts, leaving that height to retry forever. Each bounded ladder step now stamps a progress clock that isStalled() honours, while attempts past a position's quarantine still leave a real wedge visible, with a regression test that drives the full ladder past the stall window. (cherry picked from commit 6f50403)
…llback With several poison transactions in one block, each later quarantine rolled the block back and the decoder re-parsed and re-counted every position it had already quarantined, so it ran about 3N block rollbacks and inflated quarantined_txs by about N squared. Quarantined positions are now remembered per block with their hash and error text, so a rollback replays only their PARSE_ERROR row without re-parsing or re-counting, and the set clears when the block commits. (cherry picked from commit 18df60e)
After a quarantine ladder or other mid-block rollback, resetAfterRollback zeroed only blocksQuantity, so the next pass added to stale counts and the commit log line over-counted blocks and valid transactions. Every rollback and park path now zeroes all the per-batch progress and log counters through one helper. (cherry picked from commit d40f219)
(cherry picked from commit 182d881)
… writes replay A parse can write inside the block transaction before it throws (a source pubkey row). Skipping an already quarantined position on later passes made whether that row commits depend on whether a rollback followed, so two instances could commit different pubkeys for one block. Every pass now re-parses the position as before; only an already quarantined position's PARSE_ERROR row is written again, without touching the attempt, ladder or quarantine counters. (cherry picked from commit 1eef48d)
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What this release carries
Fixed
Testnet activation