Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Run MsQuic tests in parallel. #100947

Merged
merged 4 commits into from
Apr 16, 2024
Merged

Run MsQuic tests in parallel. #100947

merged 4 commits into from
Apr 16, 2024

Conversation

rzikm
Copy link
Member

@rzikm rzikm commented Apr 12, 2024

Closes #55979.

Past work in #98361 resolved the issue and all CI images have picked up microsoft/msquic#4164.

@rzikm rzikm added the NO-REVIEW Experimental/testing PR, do NOT review it label Apr 12, 2024
@rzikm
Copy link
Member Author

rzikm commented Apr 12, 2024

/azp run runtime-coreclr libraries-outerloop

Copy link

No pipelines are associated with this pull request.

@rzikm
Copy link
Member Author

rzikm commented Apr 12, 2024

/azp run runtime libraries-coreclr-outerloop

Copy link

No pipelines are associated with this pull request.

@rzikm
Copy link
Member Author

rzikm commented Apr 12, 2024

/azp run runtime-libraries-coreclr outerloop

Copy link

Azure Pipelines successfully started running 1 pipeline(s).

@rzikm
Copy link
Member Author

rzikm commented Apr 15, 2024

Test failures don't seem related, all platforms seem to have recent enough MsQuic so all fixes are appled. I think we can go ahead an proceed. Please review.

@rzikm rzikm removed the NO-REVIEW Experimental/testing PR, do NOT review it label Apr 15, 2024
@rzikm rzikm requested a review from a team April 15, 2024 08:59
@rzikm
Copy link
Member Author

rzikm commented Apr 15, 2024

actually, let's look also at jitstress and other stress pipelines

@rzikm
Copy link
Member Author

rzikm commented Apr 15, 2024

/azp run runtime-coreclr jitstress

@rzikm
Copy link
Member Author

rzikm commented Apr 15, 2024

/azp run runtime-coreclr jitstressregs

Copy link

Azure Pipelines successfully started running 1 pipeline(s).

1 similar comment
Copy link

Azure Pipelines successfully started running 1 pipeline(s).

@ManickaP
Copy link
Member

Should we also remove this:

if (config.HttpVersion == HttpVersion.Version30 && IsQuicSupported)
{
unsafe
{
// If the system gets overloaded, MsQuic has a tendency to drop incoming connections, see https://github.com/dotnet/runtime/issues/55979.
// So in case we're running H/3 stress test, we're using the same hack as for System.Net.Quic tests, which increases the time limit for pending operations in MsQuic thread pool.
object msQuicApiInstance = msQuicApiType.GetProperty("Api", BindingFlags.NonPublic | BindingFlags.Static)!.GetGetMethod(true)!.Invoke(null, Array.Empty<object?>())!;
QUIC_API_TABLE* apiTable = (QUIC_API_TABLE*)(Pointer.Unbox(msQuicApiType.GetProperty("ApiTable")!.GetGetMethod()!.Invoke(msQuicApiInstance, Array.Empty<object?>())!));
QUIC_SETTINGS settings = default(QUIC_SETTINGS);
settings.IsSet.MaxWorkerQueueDelayUs = 1;
settings.MaxWorkerQueueDelayUs = 2_500_000u; // 2.5s, 10x the default
if (MsQuic.StatusFailed(apiTable->SetParam(null, MsQuic.QUIC_PARAM_GLOBAL_SETTINGS, (uint)sizeof(QUIC_SETTINGS), (byte*)&settings)))
{
Console.WriteLine($"Unable to set MsQuic MaxWorkerQueueDelayUs.");
}
}
}

And also all of these in H3 tests:

???

@rzikm
Copy link
Member Author

rzikm commented Apr 15, 2024

/azp run runtime-coreclr jitstress

Copy link

Azure Pipelines successfully started running 1 pipeline(s).

@rzikm
Copy link
Member Author

rzikm commented Apr 15, 2024

There's one failure of System.Net.Quic.Tests.MsQuicTests.CertificateCallbackThrowPropagates, that one is due to a bug in MsQuic which I have pending PR for, the test should actually be disabled completely. Otherwise CI looks good

@rzikm
Copy link
Member Author

rzikm commented Apr 16, 2024

Ci failures are unrelated, let's roll.

@rzikm rzikm merged commit c30ea34 into dotnet:main Apr 16, 2024
84 of 87 checks passed
liveans added a commit to liveans/dotnet-runtime that referenced this pull request Apr 19, 2024
matouskozak pushed a commit to matouskozak/runtime that referenced this pull request Apr 30, 2024
* Run MsQuic tests in parallel.

* Removed workarounds in other parts of the code.

* Remove filter in active issue for failing test

* Remove extra property
@karelz karelz added this to the 9.0.0 milestone May 14, 2024
Ruihan-Yin pushed a commit to Ruihan-Yin/runtime that referenced this pull request May 30, 2024
* Run MsQuic tests in parallel.

* Removed workarounds in other parts of the code.

* Remove filter in active issue for failing test

* Remove extra property
@github-actions github-actions bot locked and limited conversation to collaborators Jun 14, 2024
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

QUIC: MsQuicListener can randomly fail to accept new connection
3 participants