v.25.10Improvement
When HTTP clients set the header X-ClickHouse-100-Continue
When HTTP clients set the headerX-ClickHouse-100-Continue: deferin addition toExpect: 100-continue, ClickHouse doesn't send send a100 Continueresponse to the client until after quota validation passes, preventing waste of network bandwidth from transmitting request bodies that will be thrown away anyways. This is relevant for INSERT queries where the query can be sent in the URL query string and the data is sent in the request body. Aborting a request without sending the full body prevents connection reuse with HTTP/1.1, but the additional latency introduced by opening new connections is usually insignificant compared to total INSERT duration with large amounts of data. #84304 (c-end).
Why it matters
This feature prevents unnecessary network bandwidth usage by delaying the100 Continue response until quota verification passes, avoiding transmission of large request bodies that would be rejected anyway. It is especially useful for INSERT queries where query information is in the URL and large data payloads are sent in the request body.How to use it
Clients should set the HTTP headersExpect: 100-continue and X-ClickHouse-100-Continue: defer when sending requests. ClickHouse will then withhold the 100 Continue response until after the quota check completes.