Fix silent RPC stalls: deadlines, diagnostics, PAPI 3.1 - #8
Merged
Merged
Conversation
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.
Summary
--validator-infono longer scans the entireStaking.Ledgermap. It resolveseach configured stash through
Staking.Bondedplus a directLedgerlookup,which is what previously made the mode hang on public Asset Hub endpoints. Chain
work for 7 validators now takes ~8s instead of stalling indefinitely.
backoff, and a global concurrency semaphore (default 16). The mode previously
fired ~1150 simultaneous requests over a single WebSocket, which silently stalled
most endpoints. All four limits are configurable in
config.json.endpoint that accepts the socket but never answers, socket transitions are logged,
stderr lines carry timestamps and per-phase durations, and the process always
prints an
EXIT code Nline. Anything explaining termination is written withfs.writeSync, becauseconsole.erroris asynchronous on a pipe and drops itsbuffer when
process.exitfollows in the same tick — that defect previouslyturned a real error into a bare exit code 1.
rpcUrlare redacted in logs; the endpoint API key waspreviously printed to stderr in cleartext.
polkadot-api2.2.2 → 3.1.0 and replaced the now-unreachable default andtest-fixture RPC endpoint. The 3.0 breaking changes only affect transaction
submission, which this read-only tool does not use; report output was verified
byte-identical across both versions.