Disable HTTP/3 tests on AzureLinux 3 VMs due to QUIC OOM#126605
Disable HTTP/3 tests on AzureLinux 3 VMs due to QUIC OOM#126605rzikm wants to merge 1 commit intodotnet:mainfrom
Conversation
HTTP/3 tests on azurelinux.3.amd64.open.rt consistently fail because the underlying MsQuic library fails with QUIC_STATUS_OUT_OF_MEMORY on that queue. The QUIC tests were already disabled for the same reason in PRs dotnet#125665 and dotnet#125772 using the IsNotAzureLinux3VM condition. Apply the same condition to IsHttp3Supported so all HTTP/3 test classes are also skipped on AzureLinux 3 VMs. Relates to dotnet#123216 Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
|
Tagging subscribers to this area: @karelz, @dotnet/ncl |
There was a problem hiding this comment.
Pull request overview
Disables HTTP/3 functional tests on AzureLinux 3 Helix VMs where MsQuic consistently fails with QUIC_STATUS_OUT_OF_MEMORY, by extending the existing HTTP/3 support gate used by *_Http3 / *_Http30 test classes.
Changes:
- Updates
HttpClientHandlerTestBase.IsHttp3Supportedto additionally requireIsNotAzureLinux3VM. - Introduces an
IsNotAzureLinux3VMhelper in the HTTP test base (mirroring the existing QUIC test gating approach).
| // https://github.com/dotnet/runtime/issues/123216 | ||
| public static bool IsNotAzureLinux3VM => !PlatformDetection.IsAzureLinux || PlatformDetection.IsInContainer; |
There was a problem hiding this comment.
IsNotAzureLinux3VM is a bit misleading given its implementation: PlatformDetection.IsAzureLinux is defined as IsDistroAndVersionOrHigher("azurelinux", 3) (so this effectively means “not AzureLinux 3+” rather than strictly “not AzureLinux 3”), and the predicate also treats containers as allowed. Consider either (a) renaming this helper to match what it actually checks, or (b) changing the logic to detect AzureLinux version 3 specifically if that’s the intended scope. Also worth considering centralizing this helper in PlatformDetection to avoid duplicating the same predicate across test bases.
HTTP/3 tests (
TelemetryTest_Http30, and potentially other*_Http3/*_Http30classes) consistently fail onazurelinux.3.amd64.open.rtbecause the underlying MsQuic library fails withQUIC_STATUS_OUT_OF_MEMORYon that queue.The QUIC tests were already disabled for the same reason in PRs #125665 and #125772 using the
IsNotAzureLinux3VMcondition on[ConditionalClass]. However, the HTTP/3 test classes useIsHttp3SupportedfromHttpClientHandlerTestBaseas their gate, so they were not covered by the QUIC-side fix.This PR adds the same
IsNotAzureLinux3VMcheck toIsHttp3Supported, which will skip all HTTP/3 test classes on AzureLinux 3 VMs where QUIC is broken.Relates to #123216