Partial query failures
A partial query failure is a failure to run the query that gets detected
only after the query has started the actual execution phase. By that time,
Kusto has already returned the HTTP status line 200 OK back to the client,
and cannot "take it back", so it has to indicate the failure in the result
stream that carries the query results back to the client. (In fact, it may have
already returned some result data back to the caller.)
There are several kinds of partial query failures:
- Runaway queries: Queries that take up too many resources.
- Result truncation: Queries whose result set has been truncated as it exceeded some limit.
- Overflows: Queries that trigger an overflow error.
Partial query failures can be reported back to the client in one of two ways:
- As part of the result data (a special kind of record indicates that this is not the data itself). This is the default way.
- As part of the "QueryStatus" table in the result stream. This is done
by using the
deferpartialqueryfailuresoption in the request'spropertiesslot (Kusto.Data.Common.ClientRequestProperties.OptionDeferPartialQueryFailures). Clients that do that take on the responsibility to consume the entire result stream from the service, locate theQueryStatusresult, and make sure no record in this result has aSeverityof2or smaller.