Bug 2142992
Summary: | Very large or long playbook executions still seem to trigger the DeadlineExceeded error code | ||
---|---|---|---|
Product: | Red Hat Enterprise Linux 8 | Reporter: | Link Dupont <link> |
Component: | rhc-worker-playbook | Assignee: | Link Dupont <link> |
Status: | CLOSED ERRATA | QA Contact: | Pavol Kotvan <pakotvan> |
Severity: | low | Docs Contact: | |
Priority: | low | ||
Version: | 8.6 | CC: | pakotvan, rantunes |
Target Milestone: | rc | Keywords: | Triaged |
Target Release: | 8.8 | ||
Hardware: | Unspecified | ||
OS: | Unspecified | ||
Whiteboard: | |||
Fixed In Version: | rhc-worker-playbook-0.1.8-5.el8 | Doc Type: | If docs needed, set a value |
Doc Text: | Story Points: | --- | |
Clone Of: | Environment: | ||
Last Closed: | 2023-05-16 08:26:58 UTC | Type: | Bug |
Regression: | --- | Mount Type: | --- |
Documentation: | --- | CRM: | |
Verified Versions: | Category: | --- | |
oVirt Team: | --- | RHEL 7.3 requirements from Atomic Host: | |
Cloudforms Team: | --- | Target Upstream Version: | |
Embargoed: |
Description
Link Dupont
2022-11-15 17:55:47 UTC
I believe I have found a solution to this. _run_data is not async-aware, so declaring it as an async function and running it in an event loop results in synchronous execution of the entire function. This means the Send function only returns once the entire _run_data function has completed. Running it on the event loop using run_in_executor runs the function call in a thread executor pool, ensuring that it doesn't block the calling thread. This is a fairly naive solution; a better implementation might be able to pass a future into _run_data, immediately fulfill that future, let the calling function (Send) return the RPC receipt, and continue running _run_data. Since the problem described in this bug report should be resolved in a recent advisory, it has been closed with a resolution of ERRATA. For information on the advisory (rhc-worker-playbook bug fix and enhancement update), and where to find the updated files, follow the link below. If the solution does not work for you, open a new bug report. https://access.redhat.com/errata/RHBA-2023:2776 |