dotnet / dotnet/roslyn

[ProjectData] Reassess recoverable I/O handling after ownership transfer

Open
#84,863 0 comments 0 reactions 1 assignee Claimed by @emaf View on GitHub
Area-IDE
Dominant language
C#
Stars
20.7k
Forks
4.3k
PR merge metrics
PR metrics pending

Description

## Summary

Reassess ProjectData recoverable-I/O helpers against Roslyn `IOUtilities` patterns.

## Background

ProjectData currently uses operation-specific exception filters and a local `IsRecoverableCacheReadException` helper. PR #84790 review suggested considering Roslyn `IOUtilities`:

https://github.com/dotnet/roslyn/pull/84790#discussion_r3732200129

## Proposed work

- Audit ProjectData filesystem catch filters.
- Determine whether `IOUtilities` can be used without an undesirable Workspaces dependency.
- Prefer the local helper when using `IOUtilities` would broaden catches, hide diagnostics, or add a heavyweight dependency.
- Keep specialized XML, JSON, cryptographic, and process exception policies operation-specific.

## Completion criteria

- Recoverable exception policy is consistent and documented.
- No broad catch masks programming errors or cancellation.
- The ProjectData dependency boundary remains intentional.

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.