Details
-
Bug
-
Status: Resolved
-
Normal
-
Resolution: Fixed
-
None
-
Correctness
-
Normal
-
Normal
-
Adhoc Test
-
All
-
None
-
Description
StreamResultFuture#maybeComplete() uses StreamCoordinator#hasActiveSessions() to determine if all sessions are completed, but then accesses each session state via StreamCoordinator#getAllSessionInfo(): this is inconsistent, as the former relies on the actual StreamSession state, while the latter on the SessionInfo state, and the two are concurrently updated with no coordination whatsoever.
This leads to races, i.e. apparent in some dtest spurious failures, such as TestBootstrap.resumable_bootstrap_test in CASSANDRA-15614 cc e.dimitrova.
Attachments
Attachments
Issue Links
- relates to
-
CASSANDRA-15952 TestBootstrap::test_bootstrap_binary_disabled_resumable_bootstrap checks non-existent log messages for 3.0 and 3.11
- Resolved