Skip to content

Commit 7a4b524

Browse files
committed
Fix stream coordinator machine upgrade
Use V4 module to initialize state when version < 5.
1 parent 8fa92ed commit 7a4b524

File tree

3 files changed

+7
-4
lines changed

3 files changed

+7
-4
lines changed

deps/rabbit/src/rabbit_stream_coordinator.erl

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2296,8 +2296,10 @@ machine_version(1, 2, State = #?MODULE{streams = Streams0,
22962296
monitors = Monitors2,
22972297
listeners = undefined}, Effects};
22982298
machine_version(2, 3, State) ->
2299-
rabbit_log:info("Stream coordinator machine version changes from 2 to 3, updating state."),
2300-
{State#?MODULE{single_active_consumer = rabbit_stream_sac_coordinator:init_state()},
2299+
rabbit_log:info("Stream coordinator machine version changes from 2 to 3, "
2300+
"updating state."),
2301+
SacState = rabbit_stream_sac_coordinator_v4:init_state(),
2302+
{State#?MODULE{single_active_consumer = SacState},
23012303
[]};
23022304
machine_version(3, 4, #?MODULE{streams = Streams0} = State) ->
23032305
rabbit_log:info("Stream coordinator machine version changes from 3 to 4, updating state."),

deps/rabbit/test/rabbit_stream_coordinator_SUITE.erl

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1363,7 +1363,7 @@ delete_replica_leader(_) ->
13631363
ok.
13641364

13651365
overview(_Config) ->
1366-
S0 = rabbit_stream_coordinator:init(undefined),
1366+
S0 = rabbit_stream_coordinator:init(#{machine_version => 5}),
13671367
O0 = rabbit_stream_coordinator:overview(S0),
13681368
?assertMatch(#{num_monitors := 0,
13691369
num_streams := 0,

deps/rabbit/test/rabbit_stream_sac_coordinator_SUITE.erl

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -532,7 +532,8 @@ import_state_v4_empty_test(_) ->
532532
OldMod = rabbit_stream_sac_coordinator_v4,
533533
OldState = OldMod:init_state(),
534534
Export = OldMod:state_to_map(OldState),
535-
?assertEqual(#?STATE{groups = #{}, pids_groups = #{}},
535+
?assertEqual(#?STATE{groups = #{}, pids_groups = #{},
536+
conf = #{disconnected_timeout => 60_000}},
536537
?MOD:import_state(4, Export)),
537538
ok.
538539

0 commit comments

Comments
 (0)