@@ -5861,7 +5861,7 @@ fn test_disable_proposal_forwarding() {
5861
5861
id : 1 ,
5862
5862
heartbeat_tick : 1 ,
5863
5863
election_tick : 10 ,
5864
- disable_proposal_forwarding : true ,
5864
+ disable_proposal_forwarding : false ,
5865
5865
..Default :: default ( )
5866
5866
} ,
5867
5867
MemStorage :: new_with_conf_state ( ( vec ! [ 1 , 2 , 3 ] , vec ! [ ] ) ) ,
@@ -5873,7 +5873,7 @@ fn test_disable_proposal_forwarding() {
5873
5873
id : 2 ,
5874
5874
heartbeat_tick : 1 ,
5875
5875
election_tick : 10 ,
5876
- disable_proposal_forwarding : true ,
5876
+ disable_proposal_forwarding : false ,
5877
5877
..Default :: default ( )
5878
5878
} ,
5879
5879
MemStorage :: new_with_conf_state ( ( vec ! [ 1 , 2 , 3 ] , vec ! [ ] ) ) ,
@@ -5897,46 +5897,20 @@ fn test_disable_proposal_forwarding() {
5897
5897
// node 1 starts campaign to become leader.
5898
5898
network. send ( vec ! [ new_message( 1 , 1 , MessageType :: MsgHup , 0 ) ] ) ;
5899
5899
5900
- assert_eq ! ( network. peers. get( & 1 ) . unwrap( ) . state, StateRole :: Leader ) ;
5901
- assert_eq ! ( network. peers. get( & 2 ) . unwrap( ) . state, StateRole :: Follower ) ;
5902
- assert_eq ! ( network. peers. get( & 3 ) . unwrap( ) . state, StateRole :: Follower ) ;
5903
-
5904
- assert_eq ! ( network. peers. get( & 2 ) . unwrap( ) . leader_id, 1 ) ;
5905
- assert_eq ! ( network. peers. get( & 3 ) . unwrap( ) . leader_id, 1 ) ;
5906
-
5907
- let committed_index_1 = network. peers . get ( & 1 ) . unwrap ( ) . raft_log . committed ;
5908
-
5909
- // send a proposal to follower 2
5910
- network. send ( vec ! [ new_message( 2 , 2 , MessageType :: MsgPropose , 1 ) ] ) ;
5911
-
5912
- // send a proposal to follower 3
5913
- network. send ( vec ! [ new_message( 3 , 3 , MessageType :: MsgPropose , 1 ) ] ) ;
5914
-
5915
- // assert no proposals are forwarded from follower and committed.
5916
- assert_eq ! (
5917
- network. peers. get( & 1 ) . unwrap( ) . raft_log. committed,
5918
- committed_index_1
5919
- ) ;
5920
- assert_eq ! (
5921
- network. peers. get( & 2 ) . unwrap( ) . raft_log. committed,
5922
- committed_index_1
5923
- ) ;
5924
- assert_eq ! (
5925
- network. peers. get( & 3 ) . unwrap( ) . raft_log. committed,
5926
- committed_index_1
5927
- ) ;
5928
-
5929
- // nodes 2 and 3 are follower, with `disable_proposal_forwarding` enable, proposal will be dropped.
5930
- // assert error returned in `step`.
5900
+ // send proposal to n2(follower) where DisableProposalForwarding is false
5931
5901
assert_eq ! (
5932
5902
network
5933
5903
. peers
5934
5904
. get_mut( & 2 )
5935
5905
. unwrap( )
5936
5906
. step( new_message( 2 , 2 , MessageType :: MsgPropose , 1 ) ) ,
5937
- Err ( Error :: ProposalDropped )
5907
+ Ok ( ( ) )
5938
5908
) ;
5939
5909
5910
+ // verify n2(follower) does forward the proposal when DisableProposalForwarding is false
5911
+ assert_eq ! ( network. peers. get( & 2 ) . unwrap( ) . msgs. len( ) , 1 ) ;
5912
+
5913
+ // send proposal to n3(follower) where DisableProposalForwarding is true
5940
5914
assert_eq ! (
5941
5915
network
5942
5916
. peers
@@ -5946,28 +5920,5 @@ fn test_disable_proposal_forwarding() {
5946
5920
Err ( Error :: ProposalDropped )
5947
5921
) ;
5948
5922
5949
- // send proposal to leader node.
5950
- network. send ( vec ! [ new_message( 1 , 1 , MessageType :: MsgPropose , 5 ) ] ) ;
5951
-
5952
- let committed_index_2 = network. peers . get ( & 1 ) . unwrap ( ) . raft_log . committed ;
5953
- if committed_index_1 >= committed_index_2 {
5954
- panic ! (
5955
- "expect committed_index_1 < committed_index_2, got {:?} > {:?}" ,
5956
- committed_index_1, committed_index_2
5957
- ) ;
5958
- }
5959
-
5960
- // assert proposals are accepted on leader node.
5961
- assert_eq ! (
5962
- network. peers. get( & 1 ) . unwrap( ) . raft_log. committed,
5963
- committed_index_2
5964
- ) ;
5965
- assert_eq ! (
5966
- network. peers. get( & 2 ) . unwrap( ) . raft_log. committed,
5967
- committed_index_2
5968
- ) ;
5969
- assert_eq ! (
5970
- network. peers. get( & 3 ) . unwrap( ) . raft_log. committed,
5971
- committed_index_2
5972
- ) ;
5923
+ assert_eq ! ( network. peers. get( & 3 ) . unwrap( ) . msgs. is_empty( ) , true ) ;
5973
5924
}
0 commit comments