@@ -1427,20 +1427,20 @@ do_add_member(Q0, Node, Membership, Timeout)
1427
1427
% % TODO parallel calls might crash this, or add a duplicate in quorum_nodes
1428
1428
ServerId = {RaName , Node },
1429
1429
Members = members (Q0 ),
1430
- QTypeState0 = #{nodes := _Nodes } = amqqueue :get_type_state (Q0 ),
1430
+ QTypeState0 = #{nodes := Nodes } = amqqueue :get_type_state (Q0 ),
1431
1431
NewRaUId = ra :new_uid (ra_lib :to_binary (RaName )),
1432
- % QTypeState = case Nodes of
1433
- % L when is_list(L) ->
1434
- % %% Queue is not aware of node to uid mapping, just add the new node
1435
- % QTypeState0#{nodes := lists:usort([Node | Nodes])};
1436
- % #{Node := _} ->
1437
- % %% Queue is aware and uid for targeted node exists, do nothing
1438
- % QTypeState0;
1439
- % _ ->
1440
- % %% Queue is aware but current node has no UId, regen uid
1441
- % QTypeState0#{nodes := Nodes#{Node => NewRaUId}}
1442
- % end,
1443
- Q = amqqueue :set_type_state (Q0 , QTypeState0 ),
1432
+ QTypeState = case Nodes of
1433
+ L when is_list (L ) ->
1434
+ % % Queue is not aware of node to uid mapping, just add the new node
1435
+ QTypeState0 #{nodes => lists :usort ([Node | Nodes ])};
1436
+ #{Node := _ } ->
1437
+ % % Queue is aware and uid for targeted node exists, do nothing
1438
+ QTypeState0 ;
1439
+ _ ->
1440
+ % % Queue is aware but current node has no UId, regen uid
1441
+ QTypeState0 #{nodes => Nodes #{Node => NewRaUId }}
1442
+ end ,
1443
+ Q = amqqueue :set_type_state (Q0 , QTypeState ),
1444
1444
MachineVersion = erpc_call (Node , rabbit_fifo , version , [], infinity ),
1445
1445
Conf = make_ra_conf (Q , ServerId , Membership , MachineVersion ),
1446
1446
case ra :start_server (? RA_SYSTEM , Conf ) of
@@ -1458,7 +1458,7 @@ do_add_member(Q0, Node, Membership, Timeout)
1458
1458
Q2 = update_type_state (
1459
1459
Q1 , fun (#{nodes := NodesList } = Ts ) when is_list (NodesList ) ->
1460
1460
Ts #{nodes => lists :usort ([Node | NodesList ])};
1461
- (#{nodes := #{Node := _ } = _NodesMap } = Ts ) ->
1461
+ (#{nodes := #{Node := _ }} = Ts ) ->
1462
1462
Ts ;
1463
1463
(#{nodes := NodesMap } = Ts ) when is_map (NodesMap ) ->
1464
1464
Ts #{nodes => maps :put (Node , NewRaUId , NodesMap )}
@@ -2047,7 +2047,7 @@ make_ra_conf(Q, ServerId, TickTimeout,
2047
2047
[{ClusterName , _ } | _ ] = Members = members (Q ),
2048
2048
{_ , Node } = ServerId ,
2049
2049
UId = case amqqueue :get_type_state (Q ) of
2050
- #{uids := #{Node := Id }} ->
2050
+ #{nodes := #{Node := Id }} ->
2051
2051
Id ;
2052
2052
_ ->
2053
2053
% % Queue was declared on an older version of RabbitMQ
0 commit comments