0
votes

By default update policy on a Kusto table is non-transactional. Lets say I have an Update Policy defined on a table MyTarget for which the source is defined in the update policy as MySource. The update policy is defined as transactional. Ingestion has been set on the table MySource. So continuously data will be getting loaded to MySource. Now say certain ingestion data batch is loaded to MySource, right after that the query defined in the Update Policy will be triggered. Now lets say this query fails , due to memory issues etc -- even the data batch loaded to MySource will not be committed (because the update policy is transactional). I have heard that in this case the ingestion will be re-tried automatically. Is it so? I haven't found any documentation regarding this retry. Anyways -- my simple question is -- how many times retry will be attempted and how much is the interval after each attempt? Are these configurable properties (I am talking about ADX cluster which is available through Azure) if I am owner of the ADX cluster?

1

1 Answers

2
votes

yes, there's an automatic retry for ingestions that failed due to a failure in a transactional update policy.

the full details can be found here: https://docs.microsoft.com/en-us/azure/kusto/management/updatepolicy#failures

Failures are treated as follows:

Non-transactional policy: The failure is ignored by Kusto. Any retry is the responsibility of the data owner.

Transactional policy: The original ingestion operation that triggered the update will fail as well. The source table and the database will not be modified with new data.

  • In case the ingestion method is pull (Kusto's Data Management service is involved in the ingestion process), there's an automated retry on the entire ingestion operation, orchestrated by Kusto's Data Management service, according to the following logic:

    • Retries are done until reaching the earliest between the maximum retry period (2 days) and maximum retry attempts (10 attempts).
    • The backoff period starts from 2 minutes, and grows exponentially (2 -> 4 -> 8 -> 16 ... minutes)
  • In any other case, any retry is the responsibility of the data owner.