Skip to content

Conversation

@jponge
Copy link
Member

@jponge jponge commented Nov 25, 2025

There was a race condition in UniAndCombination due to concurrent threads calling AndSupervisor::check, but the item and failure fields in UniHandler were not volatile, hence the count of incomplete inner results could be wrong with no further signal to make another check.

An easy fix was to make them volatile, but a work-in-progress guard is more efficient, and cleaner.

Fixes #1993

There was a race condition in UniAndCombination due to concurrent
threads calling AndSupervisor::check, but the item and failure fields
in UniHandler were not volatile, hence the count of incomplete inner
results could be wrong with no further signal to make another check.

An easy fix was to make them volatile, but a work-in-progress guard is
more efficient, and cleaner.

Fixes smallrye#1993
@jponge jponge added this to the 3.0.3 milestone Nov 25, 2025
@jponge jponge requested review from anavarr and cescoffier November 25, 2025 20:39
@jponge jponge added the bug Something isn't working label Nov 25, 2025
@codecov
Copy link

codecov bot commented Nov 25, 2025

Codecov Report

❌ Patch coverage is 87.50000% with 4 lines in your changes missing coverage. Please review.
✅ Project coverage is 89.17%. Comparing base (bcec086) to head (0ef8ca6).
⚠️ Report is 30 commits behind head on main.

Files with missing lines Patch % Lines
...allrye/mutiny/operators/uni/UniAndCombination.java 87.50% 0 Missing and 4 partials ⚠️
Additional details and impacted files

Impacted file tree graph

@@             Coverage Diff              @@
##               main    #2014      +/-   ##
============================================
+ Coverage     89.14%   89.17%   +0.02%     
- Complexity     3068     3069       +1     
============================================
  Files           409      409              
  Lines         13100    13105       +5     
  Branches       1652     1654       +2     
============================================
+ Hits          11678    11686       +8     
+ Misses          807      800       -7     
- Partials        615      619       +4     
Files with missing lines Coverage Δ
...allrye/mutiny/operators/uni/UniAndCombination.java 92.52% <87.50%> (+1.34%) ⬆️

... and 13 files with indirect coverage changes

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

@jponge jponge merged commit f1a94ee into smallrye:main Nov 27, 2025
8 checks passed
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.

Investigate Uni.combine() stalling under stress

2 participants