Skip to content

Conversation

@dkropachev
Copy link

Summary

  • Fixed bug where DefaultResultSetFuture would never complete if an unknown schema change type was received
  • The default case in the switch statement for scc.change was missing a call to set(rs)
  • Added unit test to verify the behavior

Details

When handling a schema change response in DefaultResultSetFuture.onSet(), the default case in the switch statement for scc.change (which handles unknown schema change types) was missing a call to set(rs). This caused the future to never complete if an unknown schema change type was received, leading to getUninterruptibly() waiting forever.

Test plan

  • Added unit test DefaultResultSetFutureTest.should_complete_future_for_schema_change_response
  • Test verifies the future completes within timeout for schema change responses

Fixes #365

When handling a schema change response, the `default` case in the
switch statement for `scc.change` (which handles unknown schema change
types) was missing a call to `set(rs)`. This caused the future to never
complete if an unknown schema change type was received, leading to
`getUninterruptibly()` waiting forever.

This fix ensures the future always completes, even for unexpected
schema change types, by adding `set(rs)` in the default case.

Also added a unit test to verify the behavior.

Fixes: scylladb#365
@dkropachev dkropachev requested a review from nikagra January 29, 2026 19:07
@dkropachev dkropachev self-assigned this Jan 29, 2026
@dkropachev dkropachev merged commit e2367be into scylladb:scylla-3.x Jan 29, 2026
11 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants