Update retry in Kusto emulator actions to handle any non-permanent error#11752
Conversation
|
🚀 Dogfood this PR with:
curl -fsSL https://raw.githubusercontent.com/dotnet/aspire/main/eng/scripts/get-aspire-cli-pr.sh | bash -s -- 11752Or
iex "& { $(irm https://raw.githubusercontent.com/dotnet/aspire/main/eng/scripts/get-aspire-cli-pr.ps1) } 11752" |
There was a problem hiding this comment.
Pull Request Overview
This PR improves the retry logic for Azure Kusto emulator operations by making it more robust and configurable. The changes extract the resilience pipeline into a dedicated class and expand retry capabilities beyond just throttle exceptions.
Key changes:
- Creates a new internal class to handle Kusto-specific resilience patterns with improved retry configuration
- Replaces the inline pipeline with a more comprehensive solution that handles any non-permanent Kusto exception
- Adds comprehensive unit tests to verify retry behavior for different exception types
Reviewed Changes
Copilot reviewed 3 out of 3 changed files in this pull request and generated 2 comments.
| File | Description |
|---|---|
| src/Aspire.Hosting.Azure.Kusto/AzureKustoEmulatorResiliencePipelines.cs | New internal class providing pre-configured resilience pipeline with exponential backoff and transient error detection |
| src/Aspire.Hosting.Azure.Kusto/AzureKustoBuilderExtensions.cs | Removes inline pipeline definition and uses the new centralized resilience pipeline |
| tests/Aspire.Hosting.Azure.Kusto.Tests/KustoResiliencePipelinesTests.cs | Adds unit tests covering retry behavior for temporary, permanent, and non-Kusto exceptions |
tests/Aspire.Hosting.Azure.Kusto.Tests/KustoResiliencePipelinesTests.cs
Outdated
Show resolved
Hide resolved
tests/Aspire.Hosting.Azure.Kusto.Tests/KustoResiliencePipelinesTests.cs
Outdated
Show resolved
Hide resolved
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
|
Do we want to backport this to 9.5.1? |
|
/backport to release/9.5 |
|
Started backporting to release/9.5: https://github.com/dotnet/aspire/actions/runs/18166908504 |
I don't think it will hurt. Customer feedback we've heard on a new integration. |
Description
Previously, the resilience pipeline used to create the Kusto databases had two shortcomings:
Address both of those issues by:
Checklist
<remarks />and<code />elements on your triple slash comments?doc-ideatemplatebreaking-changetemplatediagnostictemplate