This repository has been archived by the owner on Sep 30, 2024. It is now read-only.
writeManyInstances: improve error message if we run out of placeholders. #1265
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.
Description
If orchestrator uses prepared statements and uses the bulk insert options it can trigger a large bulk insert statement to be triggered which exceeds the 64k placeholders that are the limit in the MySQL server.
Related issue:
I have bumped into this on several occasions and the client side workarounds while not good have to be taken. This can also adversely affect the performance of keeping a cluster up to date.
To help the orchestrator administrator understand how to resolve this I have added code to recognise the specific error and to provide some more details of why the error happened, suggesting a configuration change.
Something like:
Reducing the size of
InstanceWriteBufferSize
or alternatively setting:"MySQLInterpolateParams": true,
would work.