Browse Source

clientv3/integration: increase balancer switch timeout for TestKVGetResetLoneEndpoint

Since 3-second is the minimum time to keep an endpoint in unhealthy,
it is possible that endpoint switch happens right after context timeout.

Signed-off-by: Gyu-Ho Lee <gyuhox@gmail.com>
Gyu-Ho Lee 8 years ago
parent
commit
2c13231e7b
1 changed files with 5 additions and 1 deletions
  1. 5 1
      clientv3/integration/kv_test.go

+ 5 - 1
clientv3/integration/kv_test.go

@@ -881,7 +881,11 @@ func TestKVGetResetLoneEndpoint(t *testing.T) {
 	// have Get try to reconnect
 	// have Get try to reconnect
 	donec := make(chan struct{})
 	donec := make(chan struct{})
 	go func() {
 	go func() {
-		ctx, cancel := context.WithTimeout(context.TODO(), 5*time.Second)
+		// 3-second is the minimum interval between endpoint being marked
+		// as unhealthy and being removed from unhealthy, so possibly
+		// takes >5-second to unpin and repin an endpoint
+		// TODO: decrease timeout when balancer switch rewrite
+		ctx, cancel := context.WithTimeout(context.TODO(), 7*time.Second)
 		if _, err := cli.Get(ctx, "abc", clientv3.WithSerializable()); err != nil {
 		if _, err := cli.Get(ctx, "abc", clientv3.WithSerializable()); err != nil {
 			t.Fatal(err)
 			t.Fatal(err)
 		}
 		}