Errori di query parziali

Un errore parziale della query è un errore durante l'esecuzione della query che viene rilevato solo dopo l'avvio della fase di esecuzione effettiva della query. A quel tempo, Kusto ha già restituito la riga 200 OK di stato HTTP al client e non può "riprenderla", quindi deve indicare l'errore nel flusso dei risultati che riporta i risultati della query al client. In realtà, potrebbe essere già stato restituito alcuni dati dei risultati al chiamante.

Esistono diversi tipi di errori di query parziali:

  • Query di esecuzione: query che accettano troppe risorse.
  • Troncamento dei risultati: query il cui set di risultati è stato troncato perché ha superato un limite.
  • Overflow: query che attivano un errore di overflow.
  • Altri errori di runtime: ad esempio, errori di rete quando si richiama una query tra cluster o errori ricevuti da un plug-in e così via.

È possibile segnalare errori di query parziali al client in uno dei due modi seguenti:

  • Per impostazione predefinita, un contenitore di proprietà JSON contenente le informazioni sull'errore viene visualizzato come parte dei dati dei risultati, in cui in genere è prevista una matrice JSON.
  • Come parte della tabella "QueryStatus" nel flusso dei risultati. Per impedire la visualizzazione delle informazioni sugli errori come parte dei dati dei risultati, impostare l'opzione deferpartialqueryfailures nello slot della properties richiesta (Kusto.Data.Common.ClientRequestProperties.OptionDeferPartialQueryFailures). I client che eseguono questa operazione assumono la responsabilità di utilizzare l'intero flusso di risultati dal servizio, individuare il QueryStatus risultato e assicurarsi che nessun record in questo risultato abbia un Severity valore di 2 o minore.

Avviso

Per accelerare il recapito di un errore parziale della query, Kusto può in alcuni casi "svuotare" il flusso dei risultati, ottenendo risultati non corretti. Di conseguenza, il consumer deve ignorare l'intero risultato se si osserva un errore parziale della query.