Conversation
Update cardano-clusterlib dependency from 0.10.1 to 0.10.2 in pyproject.toml and uv.lock.
The default timeout in ClusterLib.run_cli was increased from 120 to 300 seconds to better accommodate longer-running submit command.
There was a problem hiding this comment.
Pull request overview
This PR improves transaction submission robustness by increasing timeouts for both cardano-cli calls and cardano-submit-api HTTP requests, and by refining timeout handling during submit retries. It also updates the cardano-clusterlib dependency to pick up upstream timeout-related fixes.
Changes:
- Bump default
cardano-clitimeout in the customClusterLibwrapper (120s → 300s). - Increase submit-api CBOR POST timeout (60s → 300s) and adjust retry/timeout handling to surface
ReadTimeoutand retry at thesubmit_txlevel. - Update
cardano-clusterlibdependency to>=0.10.2,<0.11.0(and refreshuv.lockaccordingly).
Reviewed changes
Copilot reviewed 3 out of 4 changed files in this pull request and generated 1 comment.
| File | Description |
|---|---|
cardano_node_tests/utils/submit_api.py |
Increases HTTP timeout and updates retry/timeout handling for submit-api submissions. |
cardano_node_tests/utils/custom_clusterlib.py |
Extends the default CLI timeout to reduce premature failures on long-running commands. |
pyproject.toml |
Bumps cardano-clusterlib dependency version constraint. |
uv.lock |
Locks resolved dependency update for cardano-clusterlib 0.10.2. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
69519b2 to
bbe427e
Compare
There was a problem hiding this comment.
Pull request overview
This PR aims to make transaction submission via the Cardano Submit API more robust under slow/unresponsive conditions by increasing timeouts and refining retry/error handling, while also updating cardano-clusterlib to a newer patch release.
Changes:
- Bumped
cardano-clusterlibdependency to>=0.10.2,<0.11.0(and updated the lockfile accordingly). - Increased HTTP submit timeout in
post_cbor(60s → 300s) and adjusted retry behavior forMempoolTxTooSlow. - Increased default
cardano-clitimeout in the custom ClusterLib wrapper (120s → 300s) and added explicitReadTimeouthandling in submit retries.
Reviewed changes
Copilot reviewed 3 out of 4 changed files in this pull request and generated 1 comment.
| File | Description |
|---|---|
uv.lock |
Locks cardano-clusterlib to 0.10.2 artifacts and updates dependency specifier. |
pyproject.toml |
Updates declared cardano-clusterlib version range to include 0.10.2+. |
cardano_node_tests/utils/submit_api.py |
Raises timeouts, removes ReadTimeout suppression, and refines submit retry logic. |
cardano_node_tests/utils/custom_clusterlib.py |
Increases default CLI timeout to reduce premature failures in long-running commands. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
ea6bb09 to
383bbfc
Compare
There was a problem hiding this comment.
Pull request overview
This PR improves reliability of transaction submission via the Cardano Submit API by extending timeouts and refining retry/timeout handling, along with bumping the cardano-clusterlib dependency to pick up upstream timeout fixes.
Changes:
- Increase default
cardano-clitimeout incustom_clusterlib.py(120s → 300s). - Increase Submit API HTTP timeout (60s → 300s) and adjust retry/error handling in
submit_api.py. - Update
cardano-clusterlibdependency to>=0.10.2,<0.11.0(and lockfile).
Reviewed changes
Copilot reviewed 3 out of 4 changed files in this pull request and generated 1 comment.
| File | Description |
|---|---|
| uv.lock | Lockfile bump for cardano-clusterlib 0.10.2. |
| pyproject.toml | Dependency constraint updated to cardano-clusterlib (>=0.10.2,<0.11.0). |
| cardano_node_tests/utils/submit_api.py | Longer HTTP timeout; retry/timeout handling changes for submit via submit-api. |
| cardano_node_tests/utils/custom_clusterlib.py | Default CLI timeout increased to 300s. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
There was a problem hiding this comment.
Pull request overview
Note
Copilot was unable to run its full agentic suite in this review.
Improves reliability of transaction submission by increasing timeouts and adjusting retry/error-handling paths around submit-api and CLI calls.
Changes:
- Bumped
cardano-clusterlibdependency to>=0.10.2,<0.11.0. - Increased default CLI timeout to 300s.
- Increased submit-api POST timeout to 300s and adjusted retry/error handling (including ReadTimeout capture in
submit_tx).
Reviewed changes
Copilot reviewed 3 out of 4 changed files in this pull request and generated 3 comments.
| File | Description |
|---|---|
| pyproject.toml | Updates cardano-clusterlib version constraint to pick up upstream timeout fixes. |
| cardano_node_tests/utils/submit_api.py | Raises HTTP timeout and refactors retry/timeout handling for submit-api submission. |
| cardano_node_tests/utils/custom_clusterlib.py | Increases default CLI timeout to reduce premature failures. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
…dling - Remove use of contextlib.suppress for ReadTimeout, handle with try/except instead. - Increase post timeout from 60s to 300s for more robust network handling. - Refactor retry logic to properly handle "MempoolTxTooSlow" and ReadTimeout cases. - Improve error tracking and reporting in submit_tx, ensuring exceptions are captured and retried appropriately.
383bbfc to
0548342
Compare
This pull request focuses on improving the reliability and robustness of transaction submission to the Cardano Submit API by increasing timeouts and enhancing error handling. The changes also include a dependency update of
cardano-clusterlibto a version that improves timeout handling for submit withcardano-cli.Timeout and Error Handling Improvements:
custom_clusterlib.pyfrom 120 seconds to 300 seconds to prevent premature failures during long-running operations.post_cborfrom 60 seconds to 300 seconds and removed the use ofcontextlib.suppressforReadTimeout, allowing better error visibility and handling.submit_txby explicitly catchingrequests.exceptions.ReadTimeoutand storing the exception for later use, ensuring that timeouts are retried and handled appropriately. [1] [2]Dependency Updates:
cardano-clusterlibdependency inpyproject.tomlto version>=0.10.2,<0.11.0to stay current with upstream changes and bug fixes.Code Cleanup:
contextlibimport fromsubmit_api.pyas it is no longer needed after the refactor.