Browse Source

v3rpc: LeaseTimeToLive returns TTL=-1 resp on lease not found

fanmin shi 8 years ago
parent
commit
2ca1823a96
1 changed files with 8 additions and 1 deletions
  1. 8 1
      etcdserver/api/v3rpc/lease.go

+ 8 - 1
etcdserver/api/v3rpc/lease.go

@@ -53,9 +53,16 @@ func (ls *LeaseServer) LeaseRevoke(ctx context.Context, rr *pb.LeaseRevokeReques
 
 func (ls *LeaseServer) LeaseTimeToLive(ctx context.Context, rr *pb.LeaseTimeToLiveRequest) (*pb.LeaseTimeToLiveResponse, error) {
 	resp, err := ls.le.LeaseTimeToLive(ctx, rr)
-	if err != nil {
+	if err != nil && err != lease.ErrLeaseNotFound {
 		return nil, togRPCError(err)
 	}
+	if err == lease.ErrLeaseNotFound {
+		resp = &pb.LeaseTimeToLiveResponse{
+			Header: &pb.ResponseHeader{},
+			ID:     rr.ID,
+			TTL:    -1,
+		}
+	}
 	ls.hdr.fill(resp.Header)
 	return resp, nil
 }