Skip to content

Disable hedged requests for release 21.3#21534

Merged
alexey-milovidov merged 2 commits into21.3from
disable-hedged-requests-21.3
Mar 9, 2021
Merged

Disable hedged requests for release 21.3#21534
alexey-milovidov merged 2 commits into21.3from
disable-hedged-requests-21.3

Conversation

@alexey-milovidov
Copy link
Copy Markdown
Member

Changelog category (leave one):

  • Not for changelog (changelog entry is not required)

@robot-clickhouse robot-clickhouse added the pr-not-for-changelog This PR should not be mentioned in the changelog label Mar 8, 2021
@alexey-milovidov alexey-milovidov merged commit 9017f66 into 21.3 Mar 9, 2021
@alexey-milovidov alexey-milovidov deleted the disable-hedged-requests-21.3 branch March 9, 2021 07:25
azat added a commit to azat/ClickHouse that referenced this pull request Mar 11, 2021
Before this patch for distributed queries, that requires cancellation
(simple select from multiple shards with limit, i.e. `select * from
remote('127.{2,3}', system.numbers) limit 100`) it is very easy to
trigger the situation when remote shard is in the middle of sending Data
block while the initiator already send Cancel and expecting some new
packet, but it will receive not new packet, but part of the Data block
that was in the middle of sending before cancellation, and this will
lead to some various errors, like:
- Unknown packet X from server Y
- Unexpected packet from server Y
- and a lot more...

Fix this, by correctly waiting for the pending packet before
cancellation.

It is not very easy to write a test, since localhost is too fast.

Also note, that it is not possible to get these errors with hedged
requests (use_hedged_requests=1) since handle fibers correctly.

But it had been disabled by default for 21.3 in ClickHouse#21534, while
async_socket_for_remote is enabled by default.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

pr-not-for-changelog This PR should not be mentioned in the changelog

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants