@@ -19,6 +19,8 @@ import (
19
19
func TestGetReplicationSetForListRule (t * testing.T ) {
20
20
now := time .Now ()
21
21
22
+ g := ring .NewRandomTokenGenerator ()
23
+
22
24
tests := map [string ]struct {
23
25
ringInstances map [string ]ring.InstanceDesc
24
26
ringHeartbeatTimeout time.Duration
@@ -38,31 +40,31 @@ func TestGetReplicationSetForListRule(t *testing.T) {
38
40
},
39
41
"should succeed on all healthy instances and RF=1" : {
40
42
ringInstances : map [string ]ring.InstanceDesc {
41
- "instance-1" : {Addr : "127.0.0.1" , State : ring .ACTIVE , Timestamp : now .Unix (), Tokens : ring .GenerateTokens (128 , nil )},
42
- "instance-2" : {Addr : "127.0.0.2" , State : ring .ACTIVE , Timestamp : now .Add (- 10 * time .Second ).Unix (), Tokens : ring .GenerateTokens (128 , nil )},
43
- "instance-3" : {Addr : "127.0.0.3" , State : ring .ACTIVE , Timestamp : now .Add (- 20 * time .Second ).Unix (), Tokens : ring .GenerateTokens (128 , nil )},
43
+ "instance-1" : {Addr : "127.0.0.1" , State : ring .ACTIVE , Timestamp : now .Unix (), Tokens : g .GenerateTokens (ring . NewDesc (), "instance-1" , "" , 128 , true )},
44
+ "instance-2" : {Addr : "127.0.0.2" , State : ring .ACTIVE , Timestamp : now .Add (- 10 * time .Second ).Unix (), Tokens : g .GenerateTokens (ring . NewDesc (), "instance-2" , "" , 128 , true )},
45
+ "instance-3" : {Addr : "127.0.0.3" , State : ring .ACTIVE , Timestamp : now .Add (- 20 * time .Second ).Unix (), Tokens : g .GenerateTokens (ring . NewDesc (), "instance-3" , "" , 128 , true )},
44
46
},
45
47
ringHeartbeatTimeout : time .Minute ,
46
48
ringReplicationFactor : 1 ,
47
49
expectedSet : []string {"127.0.0.1" , "127.0.0.2" , "127.0.0.3" },
48
50
},
49
51
"should fail on 1 unhealthy instance and RF=1" : {
50
52
ringInstances : map [string ]ring.InstanceDesc {
51
- "instance-1" : {Addr : "127.0.0.1" , State : ring .ACTIVE , Timestamp : now .Unix (), Tokens : ring .GenerateTokens (128 , nil )},
52
- "instance-2" : {Addr : "127.0.0.2" , State : ring .ACTIVE , Timestamp : now .Add (- 10 * time .Second ).Unix (), Tokens : ring .GenerateTokens (128 , nil )},
53
- "instance-3" : {Addr : "127.0.0.3" , State : ring .ACTIVE , Timestamp : now .Add (- 20 * time .Second ).Unix (), Tokens : ring .GenerateTokens (128 , nil )},
54
- "instance-4" : {Addr : "127.0.0.4" , State : ring .ACTIVE , Timestamp : now .Add (- 2 * time .Minute ).Unix (), Tokens : ring .GenerateTokens (128 , nil )},
53
+ "instance-1" : {Addr : "127.0.0.1" , State : ring .ACTIVE , Timestamp : now .Unix (), Tokens : g .GenerateTokens (ring . NewDesc (), "instance-1" , "" , 128 , true )},
54
+ "instance-2" : {Addr : "127.0.0.2" , State : ring .ACTIVE , Timestamp : now .Add (- 10 * time .Second ).Unix (), Tokens : g .GenerateTokens (ring . NewDesc (), "instance-2" , "" , 128 , true )},
55
+ "instance-3" : {Addr : "127.0.0.3" , State : ring .ACTIVE , Timestamp : now .Add (- 20 * time .Second ).Unix (), Tokens : g .GenerateTokens (ring . NewDesc (), "instance-3" , "" , 128 , true )},
56
+ "instance-4" : {Addr : "127.0.0.4" , State : ring .ACTIVE , Timestamp : now .Add (- 2 * time .Minute ).Unix (), Tokens : g .GenerateTokens (ring . NewDesc (), "instance-4" , "" , 128 , true )},
55
57
},
56
58
ringHeartbeatTimeout : time .Minute ,
57
59
ringReplicationFactor : 1 ,
58
60
expectedErr : ring .ErrTooManyUnhealthyInstances ,
59
61
},
60
62
"should succeed on 1 unhealthy instances and RF=3" : {
61
63
ringInstances : map [string ]ring.InstanceDesc {
62
- "instance-1" : {Addr : "127.0.0.1" , State : ring .ACTIVE , Timestamp : now .Unix (), Tokens : ring .GenerateTokens (128 , nil )},
63
- "instance-2" : {Addr : "127.0.0.2" , State : ring .ACTIVE , Timestamp : now .Add (- 10 * time .Second ).Unix (), Tokens : ring .GenerateTokens (128 , nil )},
64
- "instance-3" : {Addr : "127.0.0.3" , State : ring .ACTIVE , Timestamp : now .Add (- 20 * time .Second ).Unix (), Tokens : ring .GenerateTokens (128 , nil )},
65
- "instance-4" : {Addr : "127.0.0.4" , State : ring .ACTIVE , Timestamp : now .Add (- 2 * time .Minute ).Unix (), Tokens : ring .GenerateTokens (128 , nil )},
64
+ "instance-1" : {Addr : "127.0.0.1" , State : ring .ACTIVE , Timestamp : now .Unix (), Tokens : g .GenerateTokens (ring . NewDesc (), "instance-1" , "" , 128 , true )},
65
+ "instance-2" : {Addr : "127.0.0.2" , State : ring .ACTIVE , Timestamp : now .Add (- 10 * time .Second ).Unix (), Tokens : g .GenerateTokens (ring . NewDesc (), "instance-2" , "" , 128 , true )},
66
+ "instance-3" : {Addr : "127.0.0.3" , State : ring .ACTIVE , Timestamp : now .Add (- 20 * time .Second ).Unix (), Tokens : g .GenerateTokens (ring . NewDesc (), "instance-3" , "" , 128 , true )},
67
+ "instance-4" : {Addr : "127.0.0.4" , State : ring .ACTIVE , Timestamp : now .Add (- 2 * time .Minute ).Unix (), Tokens : g .GenerateTokens (ring . NewDesc (), "instance-4" , "" , 128 , true )},
66
68
},
67
69
ringHeartbeatTimeout : time .Minute ,
68
70
ringReplicationFactor : 3 ,
@@ -71,11 +73,11 @@ func TestGetReplicationSetForListRule(t *testing.T) {
71
73
},
72
74
"should succeed on 2 unhealthy instances and RF=3" : {
73
75
ringInstances : map [string ]ring.InstanceDesc {
74
- "instance-1" : {Addr : "127.0.0.1" , State : ring .ACTIVE , Timestamp : now .Unix (), Tokens : ring .GenerateTokens (128 , nil )},
75
- "instance-2" : {Addr : "127.0.0.2" , State : ring .ACTIVE , Timestamp : now .Add (- 10 * time .Second ).Unix (), Tokens : ring .GenerateTokens (128 , nil )},
76
- "instance-3" : {Addr : "127.0.0.3" , State : ring .ACTIVE , Timestamp : now .Add (- 20 * time .Second ).Unix (), Tokens : ring .GenerateTokens (128 , nil )},
77
- "instance-4" : {Addr : "127.0.0.4" , State : ring .ACTIVE , Timestamp : now .Add (- 2 * time .Minute ).Unix (), Tokens : ring .GenerateTokens (128 , nil )},
78
- "instance-5" : {Addr : "127.0.0.5" , State : ring .ACTIVE , Timestamp : now .Add (- 2 * time .Minute ).Unix (), Tokens : ring .GenerateTokens (128 , nil )},
76
+ "instance-1" : {Addr : "127.0.0.1" , State : ring .ACTIVE , Timestamp : now .Unix (), Tokens : g .GenerateTokens (ring . NewDesc (), "instance-1" , "" , 128 , true )},
77
+ "instance-2" : {Addr : "127.0.0.2" , State : ring .ACTIVE , Timestamp : now .Add (- 10 * time .Second ).Unix (), Tokens : g .GenerateTokens (ring . NewDesc (), "instance-2" , "" , 128 , true )},
78
+ "instance-3" : {Addr : "127.0.0.3" , State : ring .ACTIVE , Timestamp : now .Add (- 20 * time .Second ).Unix (), Tokens : g .GenerateTokens (ring . NewDesc (), "instance-3" , "" , 128 , true )},
79
+ "instance-4" : {Addr : "127.0.0.4" , State : ring .ACTIVE , Timestamp : now .Add (- 2 * time .Minute ).Unix (), Tokens : g .GenerateTokens (ring . NewDesc (), "instance-4" , "" , 128 , true )},
80
+ "instance-5" : {Addr : "127.0.0.5" , State : ring .ACTIVE , Timestamp : now .Add (- 2 * time .Minute ).Unix (), Tokens : g .GenerateTokens (ring . NewDesc (), "instance-5" , "" , 128 , true )},
79
81
},
80
82
ringHeartbeatTimeout : time .Minute ,
81
83
ringReplicationFactor : 3 ,
@@ -84,22 +86,22 @@ func TestGetReplicationSetForListRule(t *testing.T) {
84
86
},
85
87
"should fail on 3 unhealthy instances and RF=3" : {
86
88
ringInstances : map [string ]ring.InstanceDesc {
87
- "instance-1" : {Addr : "127.0.0.1" , State : ring .ACTIVE , Timestamp : now .Unix (), Tokens : ring .GenerateTokens (128 , nil )},
88
- "instance-2" : {Addr : "127.0.0.2" , State : ring .ACTIVE , Timestamp : now .Add (- 10 * time .Second ).Unix (), Tokens : ring .GenerateTokens (128 , nil )},
89
- "instance-3" : {Addr : "127.0.0.3" , State : ring .ACTIVE , Timestamp : now .Add (- 2 * time .Minute ).Unix (), Tokens : ring .GenerateTokens (128 , nil )},
90
- "instance-4" : {Addr : "127.0.0.4" , State : ring .ACTIVE , Timestamp : now .Add (- 2 * time .Minute ).Unix (), Tokens : ring .GenerateTokens (128 , nil )},
91
- "instance-5" : {Addr : "127.0.0.5" , State : ring .ACTIVE , Timestamp : now .Add (- 2 * time .Minute ).Unix (), Tokens : ring .GenerateTokens (128 , nil )},
89
+ "instance-1" : {Addr : "127.0.0.1" , State : ring .ACTIVE , Timestamp : now .Unix (), Tokens : g .GenerateTokens (ring . NewDesc (), "instance-1" , "" , 128 , true )},
90
+ "instance-2" : {Addr : "127.0.0.2" , State : ring .ACTIVE , Timestamp : now .Add (- 10 * time .Second ).Unix (), Tokens : g .GenerateTokens (ring . NewDesc (), "instance-2" , "" , 128 , true )},
91
+ "instance-3" : {Addr : "127.0.0.3" , State : ring .ACTIVE , Timestamp : now .Add (- 2 * time .Minute ).Unix (), Tokens : g .GenerateTokens (ring . NewDesc (), "instance-3" , "" , 128 , true )},
92
+ "instance-4" : {Addr : "127.0.0.4" , State : ring .ACTIVE , Timestamp : now .Add (- 2 * time .Minute ).Unix (), Tokens : g .GenerateTokens (ring . NewDesc (), "instance-4" , "" , 128 , true )},
93
+ "instance-5" : {Addr : "127.0.0.5" , State : ring .ACTIVE , Timestamp : now .Add (- 2 * time .Minute ).Unix (), Tokens : g .GenerateTokens (ring . NewDesc (), "instance-5" , "" , 128 , true )},
92
94
},
93
95
ringHeartbeatTimeout : time .Minute ,
94
96
ringReplicationFactor : 3 ,
95
97
expectedErr : ring .ErrTooManyUnhealthyInstances ,
96
98
},
97
99
"should succeed on 0 unhealthy instances and RF=3 zone replication enabled" : {
98
100
ringInstances : map [string ]ring.InstanceDesc {
99
- "instance-1" : {Addr : "127.0.0.1" , State : ring .ACTIVE , Timestamp : now .Unix (), Tokens : ring .GenerateTokens (128 , nil ), Zone : "z1" },
100
- "instance-2" : {Addr : "127.0.0.2" , State : ring .ACTIVE , Timestamp : now .Add (- 10 * time .Second ).Unix (), Tokens : ring .GenerateTokens (128 , nil ), Zone : "z2" },
101
- "instance-3" : {Addr : "127.0.0.3" , State : ring .ACTIVE , Timestamp : now .Add (- 20 * time .Second ).Unix (), Tokens : ring .GenerateTokens (128 , nil ), Zone : "z3" },
102
- "instance-4" : {Addr : "127.0.0.4" , State : ring .ACTIVE , Timestamp : now .Add (- 30 * time .Second ).Unix (), Tokens : ring .GenerateTokens (128 , nil ), Zone : "z1" },
101
+ "instance-1" : {Addr : "127.0.0.1" , State : ring .ACTIVE , Timestamp : now .Unix (), Tokens : g .GenerateTokens (ring . NewDesc (), "instance-1" , "z1" , 128 , true ), Zone : "z1" },
102
+ "instance-2" : {Addr : "127.0.0.2" , State : ring .ACTIVE , Timestamp : now .Add (- 10 * time .Second ).Unix (), Tokens : g .GenerateTokens (ring . NewDesc (), "instance-2" , "z2" , 128 , true ), Zone : "z2" },
103
+ "instance-3" : {Addr : "127.0.0.3" , State : ring .ACTIVE , Timestamp : now .Add (- 20 * time .Second ).Unix (), Tokens : g .GenerateTokens (ring . NewDesc (), "instance-3" , "z3" , 128 , true ), Zone : "z3" },
104
+ "instance-4" : {Addr : "127.0.0.4" , State : ring .ACTIVE , Timestamp : now .Add (- 30 * time .Second ).Unix (), Tokens : g .GenerateTokens (ring . NewDesc (), "instance-4" , "z1" , 128 , true ), Zone : "z1" },
103
105
},
104
106
ringHeartbeatTimeout : time .Minute ,
105
107
ringReplicationFactor : 3 ,
@@ -110,11 +112,11 @@ func TestGetReplicationSetForListRule(t *testing.T) {
110
112
},
111
113
"should succeed on 3 unhealthy instances in 2 zones and RF=3 zone replication enabled" : {
112
114
ringInstances : map [string ]ring.InstanceDesc {
113
- "instance-1" : {Addr : "127.0.0.1" , State : ring .PENDING , Timestamp : now .Unix (), Tokens : ring .GenerateTokens (128 , nil ), Zone : "z1" },
114
- "instance-2" : {Addr : "127.0.0.2" , State : ring .ACTIVE , Timestamp : now .Add (- 10 * time .Second ).Unix (), Tokens : ring .GenerateTokens (128 , nil ), Zone : "z2" },
115
- "instance-3" : {Addr : "127.0.0.3" , State : ring .ACTIVE , Timestamp : now .Add (- 20 * time .Second ).Unix (), Tokens : ring .GenerateTokens (128 , nil ), Zone : "z3" },
116
- "instance-4" : {Addr : "127.0.0.4" , State : ring .ACTIVE , Timestamp : now .Add (- 2 * time .Minute ).Unix (), Tokens : ring .GenerateTokens (128 , nil ), Zone : "z1" },
117
- "instance-5" : {Addr : "127.0.0.5" , State : ring .PENDING , Timestamp : now .Add (- 10 * time .Second ).Unix (), Tokens : ring .GenerateTokens (128 , nil ), Zone : "z2" },
115
+ "instance-1" : {Addr : "127.0.0.1" , State : ring .PENDING , Timestamp : now .Unix (), Tokens : g .GenerateTokens (ring . NewDesc (), "instance-1" , "z1" , 128 , true ), Zone : "z1" },
116
+ "instance-2" : {Addr : "127.0.0.2" , State : ring .ACTIVE , Timestamp : now .Add (- 10 * time .Second ).Unix (), Tokens : g .GenerateTokens (ring . NewDesc (), "instance-2" , "z2" , 128 , true ), Zone : "z2" },
117
+ "instance-3" : {Addr : "127.0.0.3" , State : ring .ACTIVE , Timestamp : now .Add (- 20 * time .Second ).Unix (), Tokens : g .GenerateTokens (ring . NewDesc (), "instance-3" , "z3" , 128 , true ), Zone : "z3" },
118
+ "instance-4" : {Addr : "127.0.0.4" , State : ring .ACTIVE , Timestamp : now .Add (- 2 * time .Minute ).Unix (), Tokens : g .GenerateTokens (ring . NewDesc (), "instance-4" , "z1" , 128 , true ), Zone : "z1" },
119
+ "instance-5" : {Addr : "127.0.0.5" , State : ring .PENDING , Timestamp : now .Add (- 10 * time .Second ).Unix (), Tokens : g .GenerateTokens (ring . NewDesc (), "instance-5" , "z2" , 128 , true ), Zone : "z2" },
118
120
},
119
121
ringHeartbeatTimeout : time .Minute ,
120
122
ringReplicationFactor : 3 ,
@@ -128,10 +130,10 @@ func TestGetReplicationSetForListRule(t *testing.T) {
128
130
},
129
131
"should succeed on 1 unhealthy instances in 1 zone and RF=3 zone replication enabled" : {
130
132
ringInstances : map [string ]ring.InstanceDesc {
131
- "instance-1" : {Addr : "127.0.0.1" , State : ring .ACTIVE , Timestamp : now .Unix (), Tokens : ring .GenerateTokens (128 , nil ), Zone : "z1" },
132
- "instance-2" : {Addr : "127.0.0.2" , State : ring .ACTIVE , Timestamp : now .Add (- 10 * time .Second ).Unix (), Tokens : ring .GenerateTokens (128 , nil ), Zone : "z2" },
133
- "instance-3" : {Addr : "127.0.0.3" , State : ring .ACTIVE , Timestamp : now .Add (- 20 * time .Second ).Unix (), Tokens : ring .GenerateTokens (128 , nil ), Zone : "z3" },
134
- "instance-4" : {Addr : "127.0.0.4" , State : ring .PENDING , Timestamp : now .Add (- 30 * time .Second ).Unix (), Tokens : ring .GenerateTokens (128 , nil ), Zone : "z1" },
133
+ "instance-1" : {Addr : "127.0.0.1" , State : ring .ACTIVE , Timestamp : now .Unix (), Tokens : g .GenerateTokens (ring . NewDesc (), "instance-1" , "z1" , 128 , true ), Zone : "z1" },
134
+ "instance-2" : {Addr : "127.0.0.2" , State : ring .ACTIVE , Timestamp : now .Add (- 10 * time .Second ).Unix (), Tokens : g .GenerateTokens (ring . NewDesc (), "instance-2" , "z2" , 128 , true ), Zone : "z2" },
135
+ "instance-3" : {Addr : "127.0.0.3" , State : ring .ACTIVE , Timestamp : now .Add (- 20 * time .Second ).Unix (), Tokens : g .GenerateTokens (ring . NewDesc (), "instance-3" , "z3" , 128 , true ), Zone : "z3" },
136
+ "instance-4" : {Addr : "127.0.0.4" , State : ring .PENDING , Timestamp : now .Add (- 30 * time .Second ).Unix (), Tokens : g .GenerateTokens (ring . NewDesc (), "instance-4" , "z1" , 128 , true ), Zone : "z1" },
135
137
},
136
138
ringHeartbeatTimeout : time .Minute ,
137
139
ringReplicationFactor : 3 ,
@@ -144,12 +146,12 @@ func TestGetReplicationSetForListRule(t *testing.T) {
144
146
},
145
147
"should fail on 3 unhealthy instances in 3 zonez and RF=3 zone replication enabled" : {
146
148
ringInstances : map [string ]ring.InstanceDesc {
147
- "instance-1" : {Addr : "127.0.0.1" , State : ring .ACTIVE , Timestamp : now .Unix (), Tokens : ring .GenerateTokens (128 , nil ), Zone : "z1" },
148
- "instance-2" : {Addr : "127.0.0.2" , State : ring .ACTIVE , Timestamp : now .Add (- 10 * time .Second ).Unix (), Tokens : ring .GenerateTokens (128 , nil ), Zone : "z2" },
149
- "instance-3" : {Addr : "127.0.0.3" , State : ring .ACTIVE , Timestamp : now .Add (- 20 * time .Second ).Unix (), Tokens : ring .GenerateTokens (128 , nil ), Zone : "z3" },
150
- "instance-4" : {Addr : "127.0.0.4" , State : ring .PENDING , Timestamp : now .Add (- 30 * time .Second ).Unix (), Tokens : ring .GenerateTokens (128 , nil ), Zone : "z1" },
151
- "instance-5" : {Addr : "127.0.0.5" , State : ring .ACTIVE , Timestamp : now .Add (- 2 * time .Minute ).Unix (), Tokens : ring .GenerateTokens (128 , nil ), Zone : "z2" },
152
- "instance-6" : {Addr : "127.0.0.6" , State : ring .ACTIVE , Timestamp : now .Add (- 2 * time .Minute ).Unix (), Tokens : ring .GenerateTokens (128 , nil ), Zone : "z3" },
149
+ "instance-1" : {Addr : "127.0.0.1" , State : ring .ACTIVE , Timestamp : now .Unix (), Tokens : g .GenerateTokens (ring . NewDesc (), "instance-1" , "z1" , 128 , true ), Zone : "z1" },
150
+ "instance-2" : {Addr : "127.0.0.2" , State : ring .ACTIVE , Timestamp : now .Add (- 10 * time .Second ).Unix (), Tokens : g .GenerateTokens (ring . NewDesc (), "instance-2" , "z2" , 128 , true ), Zone : "z2" },
151
+ "instance-3" : {Addr : "127.0.0.3" , State : ring .ACTIVE , Timestamp : now .Add (- 20 * time .Second ).Unix (), Tokens : g .GenerateTokens (ring . NewDesc (), "instance-3" , "z3" , 128 , true ), Zone : "z3" },
152
+ "instance-4" : {Addr : "127.0.0.4" , State : ring .PENDING , Timestamp : now .Add (- 30 * time .Second ).Unix (), Tokens : g .GenerateTokens (ring . NewDesc (), "instance-4" , "z1" , 128 , true ), Zone : "z1" },
153
+ "instance-5" : {Addr : "127.0.0.5" , State : ring .ACTIVE , Timestamp : now .Add (- 2 * time .Minute ).Unix (), Tokens : g .GenerateTokens (ring . NewDesc (), "instance-5" , "z2" , 128 , true ), Zone : "z2" },
154
+ "instance-6" : {Addr : "127.0.0.6" , State : ring .ACTIVE , Timestamp : now .Add (- 2 * time .Minute ).Unix (), Tokens : g .GenerateTokens (ring . NewDesc (), "instance-6" , "z3" , 128 , true ), Zone : "z3" },
153
155
},
154
156
ringHeartbeatTimeout : time .Minute ,
155
157
ringReplicationFactor : 3 ,
@@ -163,11 +165,11 @@ func TestGetReplicationSetForListRule(t *testing.T) {
163
165
},
164
166
"should fail on 2 unhealthy instances in 2 zones and RF=2 zone replication enabled" : {
165
167
ringInstances : map [string ]ring.InstanceDesc {
166
- "instance-1" : {Addr : "127.0.0.1" , State : ring .ACTIVE , Timestamp : now .Unix (), Tokens : ring .GenerateTokens (128 , nil ), Zone : "z1" },
167
- "instance-2" : {Addr : "127.0.0.2" , State : ring .ACTIVE , Timestamp : now .Add (- 10 * time .Second ).Unix (), Tokens : ring .GenerateTokens (128 , nil ), Zone : "z2" },
168
- "instance-3" : {Addr : "127.0.0.3" , State : ring .ACTIVE , Timestamp : now .Add (- 20 * time .Second ).Unix (), Tokens : ring .GenerateTokens (128 , nil ), Zone : "z3" },
169
- "instance-4" : {Addr : "127.0.0.4" , State : ring .PENDING , Timestamp : now .Add (- 30 * time .Second ).Unix (), Tokens : ring .GenerateTokens (128 , nil ), Zone : "z1" },
170
- "instance-5" : {Addr : "127.0.0.5" , State : ring .ACTIVE , Timestamp : now .Add (- 2 * time .Minute ).Unix (), Tokens : ring .GenerateTokens (128 , nil ), Zone : "z2" },
168
+ "instance-1" : {Addr : "127.0.0.1" , State : ring .ACTIVE , Timestamp : now .Unix (), Tokens : g .GenerateTokens (ring . NewDesc (), "instance-1" , "z1" , 128 , true ), Zone : "z1" },
169
+ "instance-2" : {Addr : "127.0.0.2" , State : ring .ACTIVE , Timestamp : now .Add (- 10 * time .Second ).Unix (), Tokens : g .GenerateTokens (ring . NewDesc (), "instance-2" , "z2" , 128 , true ), Zone : "z2" },
170
+ "instance-3" : {Addr : "127.0.0.3" , State : ring .ACTIVE , Timestamp : now .Add (- 20 * time .Second ).Unix (), Tokens : g .GenerateTokens (ring . NewDesc (), "instance-3" , "z3" , 128 , true ), Zone : "z3" },
171
+ "instance-4" : {Addr : "127.0.0.4" , State : ring .PENDING , Timestamp : now .Add (- 30 * time .Second ).Unix (), Tokens : g .GenerateTokens (ring . NewDesc (), "instance-4" , "z1" , 128 , true ), Zone : "z1" },
172
+ "instance-5" : {Addr : "127.0.0.5" , State : ring .ACTIVE , Timestamp : now .Add (- 2 * time .Minute ).Unix (), Tokens : g .GenerateTokens (ring . NewDesc (), "instance-5" , "z2" , 128 , true ), Zone : "z2" },
171
173
},
172
174
ringHeartbeatTimeout : time .Minute ,
173
175
ringReplicationFactor : 2 ,
0 commit comments