fix: skip empty coverage data in CoverageData.update #2104
+17
−3
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Problem Description
In distributed training scenarios using
torchrunwith custom coverage plugins, we encounter emptyother_dataduringcoverage combine. Specifically, when thetracer,arc, andline_bitstables in the coverage database contain zero records, this leads to a critical error:Configuration Context
Root Cause
torchrunmay generate coverage data with different plugin configurationsSolution
Added a pre-check in
CoverageData.update()to skip empty coverage data by querying record counts fromtracer,arc, andline_bitstables, and skipping update operations when all three tables contain zero records.