Repository navigation
Improve mempool retry resilience and SECP256k1 test setup - #3830
Merged
Merged
Conversation
Replace fixed retry counts with exponential backoff and equal jitter. Use a configurable elapsed-time budget and maximum delay, retry only explicit MempoolTxTooSlow rejections, and retain the last rejection in diagnostics. Transport failures continue to propagate. Cover recovery, deadline exhaustion, backoff caps, invalid settings, and non-retryable responses with deterministic unit tests.
Cache payment and issuer addresses with source refill thresholds in both raw and build tests. Fund fresh minting inputs in fixtures so funding failures cannot be caught as expected script rejections. Keep mempool timeouts outside relaxed error-message assertions and restore the missing PlutusV3 assertion with current CEK error messages. All 48 cases passed across the raw run and corrected build rerun.
Exercise changing rejection messages during submit-api retries and assert that exhaustion reports the latest rejection, not the first. Check warning logs retain each rejection and its selected backoff. The framework unit tests and utility doctests passed.
Sample resources at a configurable interval, defaulting to 60 seconds. Record node thread scheduling counters, visible cgroup quotas and throttling, and available GC/CPU metrics from configured endpoints. Support legacy hasPrometheus and modern PrometheusSimple backends. Validate the interval before destructive setup and document controlled lower-concurrency reruns without changing global concurrency limits. Validate monitoring with smoke checks and live four-node snapshots. Linters passed.
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
Testing