microsoft / sarif-sdk

.NET code and supporting files for working with the 'Static Analysis Results Interchange Format' (SARIF, see https://github.com/oasis-tcs/sarif-spec)
Other
191 stars 90 forks source link

Update pipeline for multithreaded analysis. #2627

Closed michaelcfanning closed 1 year ago

michaelcfanning commented 1 year ago

This change deprecates a duplicative single exception for runtime failures expressed as MulthreadedAnalyzeCommandBase.EngineException and IAnalysisContext.RuntimeException, in favor of a new property, IAnalysisContext.RuntimeExceptions, that can hold multiple exceptions.

This allows for tracking errors across multiple threads, e.g., an unhandled exception in a rule as well as a timeout exception.

Otherwise, this change cleans up error handling in the core threading model.