apollo_gateway: change ProcessTxBlockingTask::new to be async #10057
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.

TL;DR
Make
ProcessTxBlockingTask::newan async function and clone the transaction before conversion.What changed?
ProcessTxBlockingTask::newfrom a synchronous to an asynchronous function by adding theasynckeyword and.awaitto its invocation.clone()to the transaction before passing it toconvert_rpc_tx_to_internal_rpc_txto ensure the original transaction is preservedHow to test?
Why make this change?
The change to async allows for potential asynchronous initialization steps in the
ProcessTxBlockingTaskcreation process. Cloning the transaction before conversion prevents any potential modifications to the original transaction during the conversion process, which could lead to inconsistent state or unexpected behavior.