Uh oh!
There was an error while loading. Please reload this page.
[release/6.0] Don't create multiple large files at the same time - #63032
Conversation
* move existing large file tests into a separate type (no code changes) * don't run the large file tests in parallel * use FileOptions.DeleteOnClose to ensure that each test removes it's own file use single large file to test File.ReadAllBytes and ile.ReadAllBytesAsync for both limits
ghost
commented
Dec 21, 2021
Tagging subscribers to this area: @dotnet/area-system-io Issue DetailsBackport of #60606 and #62519. Customer ImpactNone, this is required to have a clean CI in 6.0 branch. TestingChanges have been tested in main for a while. RiskLow.
|
adamsitnik
left a comment
There was a problem hiding this comment.
LGTM, thank you for backporting the fixes @jozkee !
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
adamsitnik
commented
Dec 21, 2021
/azp run runtime-libraries-coreclr outerloop |
|
Azure Pipelines successfully started running 1 pipeline(s). |
| } | ||
| [CollectionDefinition("NoParallelTests", DisableParallelization = true)] | ||
| public partial class NoParallelTests { } |
There was a problem hiding this comment.
we don't actually need this since we already have the same one here which you can include instead: https://github.com/dotnet/runtime/blob/release/6.0/src/libraries/Common/tests/System/Xml/DisableParallelization.cs
There was a problem hiding this comment.
ah looks like it is already that way in main, you'll need to include the file in the .csproj so it works:
There was a problem hiding this comment.
File src\libraries\Common\tests\TestUtilities\System\DisableParallelization.cs doesn't exists in release/6.0.
I added the class here because that's how we were doing it prior to #62132.
There was a problem hiding this comment.
Yeah it was in a different path in release/6.0 (see the linked file in my first comment), but this is just a cosmetic issue so fine if we keep what you have :)
| { | ||
| using FileStream fs = new (GetTestFilePath(), FileMode.Create, FileAccess.Write, FileShare.Read, 4096, FileOptions.DeleteOnClose); | ||
| foreach (long lengthOverLimit in new long[] { Array.MaxLength + 1L, int.MaxValue + 1L }) |
There was a problem hiding this comment.
Will need to get rid of this case because it's an edge case that isn't fixed in 6.0; see: #61519.
| foreach(longlengthOverLimitinnewlong[]{Array.MaxLength+1L,int.MaxValue+1L}) | |
| foreach(longlengthOverLimitinnewlong[]{int.MaxValue+1L}) |
Co-authored-by: Adam Sitnik <adam.sitnik@gmail.com>
Co-authored-by: Adam Sitnik <adam.sitnik@gmail.com>
jozkee
commented
Dec 22, 2021
/azp run runtime-libraries-coreclr outerloop |
|
Azure Pipelines successfully started running 1 pipeline(s). |
Backport of #60606 and #62519.
Move tests that create large files (~4 gb) to OuterLoop and disables parallelization to avoid running into out of memory and time out errors.
Customer Impact
None, this is required to have a clean CI in 6.0 branch.
Testing
Changes have been tested in main for a while.
Risk
Low.