Browse Source

clientv3: add debugging lines to 'retry' paths

Helpful for debugging client balancer.

Signed-off-by: Gyu-Ho Lee <gyuhox@gmail.com>
Gyu-Ho Lee 8 years ago
parent
commit
1c6fbcd3d0
2 changed files with 9 additions and 2 deletions
  1. 3 0
      clientv3/balancer.go
  2. 6 2
      clientv3/retry.go

+ 3 - 0
clientv3/balancer.go

@@ -303,6 +303,9 @@ func (b *simpleBalancer) up(addr grpc.Address) (func(error), bool) {
 		return func(err error) {}, false
 	}
 	if b.pinAddr != "" {
+		if logger.V(4) {
+			logger.Infof("clientv3/balancer: %s is up but not pinned (already pinned %s)", addr.Addr, b.pinAddr)
+		}
 		return func(err error) {}, false
 	}
 	// notify waiting Get()s and pin first connected address

+ 6 - 2
clientv3/retry.go

@@ -62,6 +62,9 @@ func (c *Client) newRetryWrapper(isStop retryStopErrFunc) retryRpcFunc {
 			if err == nil {
 				return nil
 			}
+			if logger.V(4) {
+				logger.Infof("clientv3/retry: retry for error %v", err)
+			}
 			notify := c.balancer.ConnectNotify()
 			if s, ok := status.FromError(err); ok && s.Code() == codes.Unavailable {
 				c.balancer.next()
@@ -87,7 +90,9 @@ func (c *Client) newAuthRetryWrapper() retryRpcFunc {
 			if err == nil {
 				return nil
 			}
-
+			if logger.V(4) {
+				logger.Infof("clientv3/auth-retry: retry for error %v", err)
+			}
 			// always stop retry on etcd errors other than invalid auth token
 			if rpctypes.Error(err) == rpctypes.ErrInvalidAuthToken {
 				gterr := c.getToken(rpcCtx)
@@ -96,7 +101,6 @@ func (c *Client) newAuthRetryWrapper() retryRpcFunc {
 				}
 				continue
 			}
-
 			return err
 		}
 	}