Skip to content

Conversation

HVbajoria
Copy link

@HVbajoria HVbajoria commented Oct 13, 2025

Summary

This PR addresses intermittent I/O failures in AppHost.Bundle.Tests.BundledAppWithSubDirs and updates the package release notes URL to point to the correct GitHub location.
Tried fixing #120653

Problem

  • Test Failures: The test was failing with "I/O failure when writing extracted files" due to:
    - Temporary file system race conditions
    - Directory deletion failures during cleanup
    - File creation failures with long path names

Solution

  • I/O Reliability: Added retry logic with exponential backoff to handle transient I/O failures:
  • DeleteExtractionDirectory: Added 3 retry attempts with 100ms delays for directory deletion
  • AddLongNameContent: Added 3 retry attempts with 100ms delays for directory creation and file operations

Changes

  • BundledAppWithSubDirs.cs:
    - Modified DeleteExtractionDirectory() to retry failed directory deletions
    - Modified AddLongNameContent() to retry failed directory/file creation operations
    - Both methods now handle IOException gracefully with retry logic

Testing

  • Existing tests continue to pass
  • Improved resilience against intermittent CI environment I/O issues
  • No functional changes to test behavior, only improved reliability
  • Fixes intermittent test failures in AppHost bundle extraction scenarios and ensures users can access current release notes.

@github-actions github-actions bot added the needs-area-label An area label is needed to ensure this gets routed to the appropriate area owners label Oct 13, 2025
@dotnet-policy-service dotnet-policy-service bot added the community-contribution Indicates that the PR has been added by a community member label Oct 13, 2025
@HVbajoria
Copy link
Author

@HVbajoria please read the following Contributor License Agreement(CLA). If you agree with the CLA, please reply with the following information.

@dotnet-policy-service agree [company="{your company}"]

Options:

  • (default - no company specified) I have sole ownership of intellectual property rights to my Submissions and I am not making Submissions in the course of work for my employer.
@dotnet-policy-service agree
  • (when company given) I am making Submissions in the course of work for my employer (or my employer has intellectual property rights in my Submissions by contract or applicable law). I have permission from my employer to make Submissions and enter into this Agreement on behalf of my employer. By signing below, the defined term “You” includes me and my employer.
@dotnet-policy-service agree company="Microsoft"

Contributor License Agreement

@dotnet-policy-service agree

1 similar comment
@HVbajoria
Copy link
Author

@HVbajoria please read the following Contributor License Agreement(CLA). If you agree with the CLA, please reply with the following information.

@dotnet-policy-service agree [company="{your company}"]

Options:

  • (default - no company specified) I have sole ownership of intellectual property rights to my Submissions and I am not making Submissions in the course of work for my employer.
@dotnet-policy-service agree
  • (when company given) I am making Submissions in the course of work for my employer (or my employer has intellectual property rights in my Submissions by contract or applicable law). I have permission from my employer to make Submissions and enter into this Agreement on behalf of my employer. By signing below, the defined term “You” includes me and my employer.
@dotnet-policy-service agree company="Microsoft"

Contributor License Agreement

@dotnet-policy-service agree

@HVbajoria HVbajoria changed the title Fix AppHost Bundle Tests I/O Failures and Update Package Release Note… Fix AppHost Bundle Tests I/O Failures Oct 13, 2025
@agocke
Copy link
Member

agocke commented Oct 13, 2025

Aside from the implementation problems, I don't think this addresses the problem. The log seems to suggest we have some problem in extraction, but this is just about deleting assets after the test is done running.

@HVbajoria
Copy link
Author

Aside from the implementation problems, I don't think this addresses the problem. The log seems to suggest we have some problem in extraction, but this is just about deleting assets after the test is done running.

Got it! I thought maybe this would fix it.
Thanks for enlightening.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

community-contribution Indicates that the PR has been added by a community member needs-area-label An area label is needed to ensure this gets routed to the appropriate area owners

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants