Skip to content

Conversation

fknorr
Copy link
Contributor

@fknorr fknorr commented Nov 15, 2024

Fixes a race condition spuriously observed in unit tests after #299.

The unit test assumes that the runtime knows about the epoch being reached as soon as sync returns, but we signalled the epoch-promise before updating the reached epoch. This PR flips the signalling order so that the future establishes a proper happens-before-relationship around sync and last_epoch_reached.

This race was likely inconsequential for the runtime correctness, but
was observable through the unit test "reaching an epoch will prune
all nodes of the preceding task graph".
@fknorr fknorr added the bug Something isn't working label Nov 15, 2024
@fknorr fknorr added this to the 0.7.0 milestone Nov 15, 2024
@fknorr fknorr self-assigned this Nov 15, 2024
Copy link

Check-perf-impact results: (120b801fc25bb311186a33753cc215e6)

❓ No new benchmark data submitted. ❓
Please re-run the microbenchmarks and include the results if your commit could potentially affect performance.

@coveralls
Copy link

Pull Request Test Coverage Report for Build 11854698512

Details

  • 2 of 2 (100.0%) changed or added relevant lines in 2 files are covered.
  • No unchanged relevant lines lost coverage.
  • Overall coverage remained the same at 95.102%

Totals Coverage Status
Change from base Build 11854130628: 0.0%
Covered Lines: 6677
Relevant Lines: 6773

💛 - Coveralls

@fknorr fknorr merged commit eecbbce into master Nov 15, 2024
17 checks passed
@fknorr fknorr deleted the fix-epoch-promise-order branch November 15, 2024 12:17
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants