在 ADX 中更新策略查询和摄取重试
update policy query and ingestion retry in ADX
默认情况下,Kusto table 上的更新策略是非事务性的。假设我有一个在 table MyTarget 上定义的更新策略,其源在更新策略中定义为 MySource。更新策略定义为 事务性。已在 table MySource 上设置摄取。因此,数据将不断加载到 MySource。现在假设某个摄取数据批次被加载到 MySource,之后将触发更新策略中定义的查询。现在假设由于内存问题等原因此查询失败——即使加载到 MySource 的数据批次也不会提交(因为更新策略是事务性的)。我听说在这种情况下会自动重新尝试摄取。是这样吗?我还没有找到任何关于这次重试的文件。无论如何 - 我的简单问题是 - 将尝试重试多少次以及每次尝试后的间隔时间是多少?如果我是 ADX 集群的所有者,这些是可配置的属性(我说的是通过 Azure 提供的 ADX 集群)吗?
是的,对于由于 事务性 更新策略失败而失败的摄取有一个自动重试。
可在此处找到完整的详细信息: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.
默认情况下,Kusto table 上的更新策略是非事务性的。假设我有一个在 table MyTarget 上定义的更新策略,其源在更新策略中定义为 MySource。更新策略定义为 事务性。已在 table MySource 上设置摄取。因此,数据将不断加载到 MySource。现在假设某个摄取数据批次被加载到 MySource,之后将触发更新策略中定义的查询。现在假设由于内存问题等原因此查询失败——即使加载到 MySource 的数据批次也不会提交(因为更新策略是事务性的)。我听说在这种情况下会自动重新尝试摄取。是这样吗?我还没有找到任何关于这次重试的文件。无论如何 - 我的简单问题是 - 将尝试重试多少次以及每次尝试后的间隔时间是多少?如果我是 ADX 集群的所有者,这些是可配置的属性(我说的是通过 Azure 提供的 ADX 集群)吗?
是的,对于由于 事务性 更新策略失败而失败的摄取有一个自动重试。
可在此处找到完整的详细信息: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.