@@ -79,16 +79,16 @@ func TestAdjustRule(t *testing.T) {
79
79
re := require .New (t )
80
80
_ , manager := newTestManager (t , false )
81
81
rules := []Rule {
82
- {GroupID : "group" , ID : "id" , StartKeyHex : "123abc" , EndKeyHex : "123abf" , Role : "voter" , Count : 3 },
83
- {GroupID : "" , ID : "id" , StartKeyHex : "123abc" , EndKeyHex : "123abf" , Role : "voter" , Count : 3 },
84
- {GroupID : "group" , ID : "" , StartKeyHex : "123abc" , EndKeyHex : "123abf" , Role : "voter" , Count : 3 },
85
- {GroupID : "group" , ID : "id" , StartKeyHex : "123ab" , EndKeyHex : "123abf" , Role : "voter" , Count : 3 },
86
- {GroupID : "group" , ID : "id" , StartKeyHex : "123abc" , EndKeyHex : "1123abf" , Role : "voter" , Count : 3 },
87
- {GroupID : "group" , ID : "id" , StartKeyHex : "123abc" , EndKeyHex : "123aaa" , Role : "voter" , Count : 3 },
82
+ {GroupID : "group" , ID : "id" , StartKeyHex : "123abc" , EndKeyHex : "123abf" , Role : Voter , Count : 3 },
83
+ {GroupID : "" , ID : "id" , StartKeyHex : "123abc" , EndKeyHex : "123abf" , Role : Voter , Count : 3 },
84
+ {GroupID : "group" , ID : "" , StartKeyHex : "123abc" , EndKeyHex : "123abf" , Role : Voter , Count : 3 },
85
+ {GroupID : "group" , ID : "id" , StartKeyHex : "123ab" , EndKeyHex : "123abf" , Role : Voter , Count : 3 },
86
+ {GroupID : "group" , ID : "id" , StartKeyHex : "123abc" , EndKeyHex : "1123abf" , Role : Voter , Count : 3 },
87
+ {GroupID : "group" , ID : "id" , StartKeyHex : "123abc" , EndKeyHex : "123aaa" , Role : Voter , Count : 3 },
88
88
{GroupID : "group" , ID : "id" , StartKeyHex : "123abc" , EndKeyHex : "123abf" , Role : "master" , Count : 3 },
89
- {GroupID : "group" , ID : "id" , StartKeyHex : "123abc" , EndKeyHex : "123abf" , Role : "voter" , Count : 0 },
90
- {GroupID : "group" , ID : "id" , StartKeyHex : "123abc" , EndKeyHex : "123abf" , Role : "voter" , Count : - 1 },
91
- {GroupID : "group" , ID : "id" , StartKeyHex : "123abc" , EndKeyHex : "123abf" , Role : "voter" , Count : 3 , LabelConstraints : []LabelConstraint {{Op : "foo" }}},
89
+ {GroupID : "group" , ID : "id" , StartKeyHex : "123abc" , EndKeyHex : "123abf" , Role : Voter , Count : 0 },
90
+ {GroupID : "group" , ID : "id" , StartKeyHex : "123abc" , EndKeyHex : "123abf" , Role : Voter , Count : - 1 },
91
+ {GroupID : "group" , ID : "id" , StartKeyHex : "123abc" , EndKeyHex : "123abf" , Role : Voter , Count : 3 , LabelConstraints : []LabelConstraint {{Op : "foo" }}},
92
92
}
93
93
re .NoError (manager .adjustRule (& rules [0 ], "group" ))
94
94
@@ -101,17 +101,17 @@ func TestAdjustRule(t *testing.T) {
101
101
}
102
102
103
103
manager .SetKeyType (constant .Table .String ())
104
- re .Error (manager .adjustRule (& Rule {GroupID : "group" , ID : "id" , StartKeyHex : "123abc" , EndKeyHex : "123abf" , Role : "voter" , Count : 3 }, "group" ))
104
+ re .Error (manager .adjustRule (& Rule {GroupID : "group" , ID : "id" , StartKeyHex : "123abc" , EndKeyHex : "123abf" , Role : Voter , Count : 3 }, "group" ))
105
105
106
106
manager .SetKeyType (constant .Txn .String ())
107
- re .Error (manager .adjustRule (& Rule {GroupID : "group" , ID : "id" , StartKeyHex : "123abc" , EndKeyHex : "123abf" , Role : "voter" , Count : 3 }, "group" ))
107
+ re .Error (manager .adjustRule (& Rule {GroupID : "group" , ID : "id" , StartKeyHex : "123abc" , EndKeyHex : "123abf" , Role : Voter , Count : 3 }, "group" ))
108
108
109
109
re .Error (manager .adjustRule (& Rule {
110
110
GroupID : "group" ,
111
111
ID : "id" ,
112
112
StartKeyHex : hex .EncodeToString (codec .EncodeBytes ([]byte {0 })),
113
113
EndKeyHex : "123abf" ,
114
- Role : "voter" ,
114
+ Role : Voter ,
115
115
Count : 3 ,
116
116
}, "group" ))
117
117
@@ -120,7 +120,7 @@ func TestAdjustRule(t *testing.T) {
120
120
ID : "id" ,
121
121
StartKeyHex : hex .EncodeToString (codec .EncodeBytes ([]byte {0 })),
122
122
EndKeyHex : hex .EncodeToString (codec .EncodeBytes ([]byte {1 })),
123
- Role : "learner" ,
123
+ Role : Learner ,
124
124
Count : 1 ,
125
125
IsWitness : true ,
126
126
LabelConstraints : []LabelConstraint {{Key : "engine" , Op : "in" , Values : []string {"tiflash" }}},
@@ -130,15 +130,15 @@ func TestAdjustRule(t *testing.T) {
130
130
func TestLeaderCheck (t * testing.T ) {
131
131
re := require .New (t )
132
132
_ , manager := newTestManager (t , false )
133
- re .Regexp (".*needs at least one leader or voter.*" , manager .SetRule (& Rule {GroupID : DefaultGroupID , ID : DefaultRuleID , Role : "learner" , Count : 3 }).Error ())
134
- re .Regexp (".*define multiple leaders by count 2.*" , manager .SetRule (& Rule {GroupID : "g2" , ID : "33" , Role : "leader" , Count : 2 }).Error ())
133
+ re .Regexp (".*needs at least one leader or voter.*" , manager .SetRule (& Rule {GroupID : DefaultGroupID , ID : DefaultRuleID , Role : Learner , Count : 3 }).Error ())
134
+ re .Regexp (".*define multiple leaders by count 2.*" , manager .SetRule (& Rule {GroupID : "g2" , ID : "33" , Role : Leader , Count : 2 }).Error ())
135
135
re .Regexp (".*multiple leader replicas.*" , manager .Batch ([]RuleOp {
136
136
{
137
- Rule : & Rule {GroupID : "g2" , ID : "foo1" , Role : "leader" , Count : 1 },
137
+ Rule : & Rule {GroupID : "g2" , ID : "foo1" , Role : Leader , Count : 1 },
138
138
Action : RuleOpAdd ,
139
139
},
140
140
{
141
- Rule : & Rule {GroupID : "g2" , ID : "foo2" , Role : "leader" , Count : 1 },
141
+ Rule : & Rule {GroupID : "g2" , ID : "foo2" , Role : Leader , Count : 1 },
142
142
Action : RuleOpAdd ,
143
143
},
144
144
}).Error ())
@@ -148,9 +148,9 @@ func TestSaveLoad(t *testing.T) {
148
148
re := require .New (t )
149
149
store , manager := newTestManager (t , false )
150
150
rules := []* Rule {
151
- {GroupID : DefaultGroupID , ID : DefaultRuleID , Role : "voter" , Count : 5 },
152
- {GroupID : "foo" , ID : "baz" , StartKeyHex : "" , EndKeyHex : "abcd" , Role : "voter" , Count : 1 },
153
- {GroupID : "foo" , ID : "bar" , Role : "learner" , Count : 1 },
151
+ {GroupID : DefaultGroupID , ID : DefaultRuleID , Role : Voter , Count : 5 },
152
+ {GroupID : "foo" , ID : "baz" , StartKeyHex : "" , EndKeyHex : "abcd" , Role : Voter , Count : 1 },
153
+ {GroupID : "foo" , ID : "bar" , Role : Learner , Count : 1 },
154
154
}
155
155
for _ , r := range rules {
156
156
re .NoError (manager .SetRule (r .Clone ()))
@@ -193,9 +193,9 @@ func TestKeys(t *testing.T) {
193
193
re := require .New (t )
194
194
_ , manager := newTestManager (t , false )
195
195
rules := []* Rule {
196
- {GroupID : "1" , ID : "1" , Role : "voter" , Count : 1 , StartKeyHex : "" , EndKeyHex : "" },
197
- {GroupID : "2" , ID : "2" , Role : "voter" , Count : 1 , StartKeyHex : "11" , EndKeyHex : "ff" },
198
- {GroupID : "2" , ID : "3" , Role : "voter" , Count : 1 , StartKeyHex : "22" , EndKeyHex : "dd" },
196
+ {GroupID : "1" , ID : "1" , Role : Voter , Count : 1 , StartKeyHex : "" , EndKeyHex : "" },
197
+ {GroupID : "2" , ID : "2" , Role : Voter , Count : 1 , StartKeyHex : "11" , EndKeyHex : "ff" },
198
+ {GroupID : "2" , ID : "3" , Role : Voter , Count : 1 , StartKeyHex : "22" , EndKeyHex : "dd" },
199
199
}
200
200
201
201
toDelete := []RuleOp {}
@@ -211,8 +211,8 @@ func TestKeys(t *testing.T) {
211
211
manager .Batch (toDelete )
212
212
checkRules (t , manager .GetAllRules (), [][2 ]string {{DefaultGroupID , DefaultRuleID }})
213
213
214
- rules = append (rules , & Rule {GroupID : "3" , ID : "4" , Role : "voter" , Count : 1 , StartKeyHex : "44" , EndKeyHex : "ee" },
215
- & Rule {GroupID : "3" , ID : "5" , Role : "voter" , Count : 1 , StartKeyHex : "44" , EndKeyHex : "dd" })
214
+ rules = append (rules , & Rule {GroupID : "3" , ID : "4" , Role : Voter , Count : 1 , StartKeyHex : "44" , EndKeyHex : "ee" },
215
+ & Rule {GroupID : "3" , ID : "5" , Role : Voter , Count : 1 , StartKeyHex : "44" , EndKeyHex : "dd" })
216
216
manager .SetRules (rules )
217
217
checkRules (t , manager .GetAllRules (), [][2 ]string {{"1" , "1" }, {"2" , "2" }, {"2" , "3" }, {"3" , "4" }, {"3" , "5" }, {DefaultGroupID , DefaultRuleID }})
218
218
@@ -282,10 +282,10 @@ func TestKeys(t *testing.T) {
282
282
func TestDeleteByIDPrefix (t * testing.T ) {
283
283
_ , manager := newTestManager (t , false )
284
284
manager .SetRules ([]* Rule {
285
- {GroupID : "g1" , ID : "foo1" , Role : "voter" , Count : 1 },
286
- {GroupID : "g2" , ID : "foo1" , Role : "voter" , Count : 1 },
287
- {GroupID : "g2" , ID : "foobar" , Role : "voter" , Count : 1 },
288
- {GroupID : "g2" , ID : "baz2" , Role : "voter" , Count : 1 },
285
+ {GroupID : "g1" , ID : "foo1" , Role : Voter , Count : 1 },
286
+ {GroupID : "g2" , ID : "foo1" , Role : Voter , Count : 1 },
287
+ {GroupID : "g2" , ID : "foobar" , Role : Voter , Count : 1 },
288
+ {GroupID : "g2" , ID : "baz2" , Role : Voter , Count : 1 },
289
289
})
290
290
manager .DeleteRule (DefaultGroupID , DefaultRuleID )
291
291
checkRules (t , manager .GetAllRules (), [][2 ]string {{"g1" , "foo1" }, {"g2" , "baz2" }, {"g2" , "foo1" }, {"g2" , "foobar" }})
@@ -304,20 +304,20 @@ func TestRangeGap(t *testing.T) {
304
304
err := manager .DeleteRule (DefaultGroupID , DefaultRuleID )
305
305
re .Error (err )
306
306
307
- err = manager .SetRule (& Rule {GroupID : DefaultGroupID , ID : "foo" , StartKeyHex : "" , EndKeyHex : "abcd" , Role : "voter" , Count : 1 })
307
+ err = manager .SetRule (& Rule {GroupID : DefaultGroupID , ID : "foo" , StartKeyHex : "" , EndKeyHex : "abcd" , Role : Voter , Count : 1 })
308
308
re .NoError (err )
309
309
// |-- default --|
310
310
// |-- foo --|
311
311
// still cannot delete default since it will cause ("abcd", "") has no rules inside.
312
312
err = manager .DeleteRule (DefaultGroupID , DefaultRuleID )
313
313
re .Error (err )
314
- err = manager .SetRule (& Rule {GroupID : DefaultGroupID , ID : "bar" , StartKeyHex : "abcd" , EndKeyHex : "" , Role : "voter" , Count : 1 })
314
+ err = manager .SetRule (& Rule {GroupID : DefaultGroupID , ID : "bar" , StartKeyHex : "abcd" , EndKeyHex : "" , Role : Voter , Count : 1 })
315
315
re .NoError (err )
316
316
// now default can be deleted.
317
317
err = manager .DeleteRule (DefaultGroupID , DefaultRuleID )
318
318
re .NoError (err )
319
319
// cannot change range since it will cause ("abaa", "abcd") has no rules inside.
320
- err = manager .SetRule (& Rule {GroupID : DefaultGroupID , ID : "foo" , StartKeyHex : "" , EndKeyHex : "abaa" , Role : "voter" , Count : 1 })
320
+ err = manager .SetRule (& Rule {GroupID : DefaultGroupID , ID : "foo" , StartKeyHex : "" , EndKeyHex : "abaa" , Role : Voter , Count : 1 })
321
321
re .Error (err )
322
322
}
323
323
@@ -334,7 +334,7 @@ func TestGroupConfig(t *testing.T) {
334
334
re .Equal (pd2 , manager .GetRuleGroup (DefaultGroupID ))
335
335
336
336
// new group g without config
337
- err = manager .SetRule (& Rule {GroupID : "g" , ID : "1" , Role : "voter" , Count : 1 })
337
+ err = manager .SetRule (& Rule {GroupID : "g" , ID : "1" , Role : Voter , Count : 1 })
338
338
re .NoError (err )
339
339
g1 := & RuleGroup {ID : "g" }
340
340
re .Equal (g1 , manager .GetRuleGroup ("g" ))
@@ -363,13 +363,13 @@ func TestRuleVersion(t *testing.T) {
363
363
rule1 := manager .GetRule (DefaultGroupID , DefaultRuleID )
364
364
re .Equal (uint64 (0 ), rule1 .Version )
365
365
// create new rule
366
- newRule := & Rule {GroupID : "g1" , ID : "id" , StartKeyHex : "123abc" , EndKeyHex : "123abf" , Role : "voter" , Count : 3 }
366
+ newRule := & Rule {GroupID : "g1" , ID : "id" , StartKeyHex : "123abc" , EndKeyHex : "123abf" , Role : Voter , Count : 3 }
367
367
err := manager .SetRule (newRule )
368
368
re .NoError (err )
369
369
newRule = manager .GetRule ("g1" , "id" )
370
370
re .Equal (uint64 (0 ), newRule .Version )
371
371
// update rule
372
- newRule = & Rule {GroupID : "g1" , ID : "id" , StartKeyHex : "123abc" , EndKeyHex : "123abf" , Role : "voter" , Count : 2 }
372
+ newRule = & Rule {GroupID : "g1" , ID : "id" , StartKeyHex : "123abc" , EndKeyHex : "123abf" , Role : Voter , Count : 2 }
373
373
err = manager .SetRule (newRule )
374
374
re .NoError (err )
375
375
newRule = manager .GetRule ("g1" , "id" )
0 commit comments