workaround for #4555: copy the requestBuilder before mutation to avoid side effects #4556
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.
Pull Request Template
Summary
Please provide a brief summary of your changes and the related issue. Include any motivation and context that is relevant to your changes. If there are any dependencies necessary for your changes, please list them here.
Change Type
Please delete any irrelevant options.
Testing
I used the same repro procedure described in #4555 with the math assistant api.
When a custom auth is configured the assistant can successfully call the same action in parallel many times and have correct results for each of them.
Without this workaround all the results are the same.
Test Configuration:
Checklist
Please delete any irrelevant options.
The commit is a workaround, a better solution would probably mean to separate the requestBuilder / ActionRequest from the parameters and headers used at execution time, or to no more share the requestBuilders between all the calls.
As it is it has a minimal impact on the code and fixes the issue with assistants.