fix: Allows remote pull queries to be cancelled #8252
Merged
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
Reverts #8248 and fixes the issue it was addressing. Namely, the issue is that closing the forwarded connection after it had already been completed resulted in errors. I'm not sure if this was the result of Vertx connection pooling somehow affecting other requests reusing the same connections, but this appeared to be the case.
The fix only closes the forwarded connection if the request is not complete by the time the connection to the proxy node is done.
This also has a fix for JSON parsing errors seen after we're given buffers that are not complete. This is exactly what
RecordParser
is for, so it's used.Testing done
Unit tests and manual verification.
Reviewer checklist