From 965a7c384e8d634f906b9c75cebdbcff4dd00637 Mon Sep 17 00:00:00 2001 From: Jean de Klerk Date: Mon, 22 Oct 2018 10:38:10 -0700 Subject: [PATCH] internal: transport nil should happen before backoff Seems to fix https://travis-ci.org/grpc/grpc-go/jobs/443409852, but regardless it's a more correct place for it to happen. --- clientconn.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/clientconn.go b/clientconn.go index d04043137a7e..f49ac3f9b839 100644 --- a/clientconn.go +++ b/clientconn.go @@ -965,6 +965,7 @@ func (ac *addrConn) resetTransport(resolveNow bool) { ac.updateConnectivityState(connectivity.TransientFailure) ac.cc.handleSubConnStateChange(ac.acbw, ac.state) } + ac.transport = nil ac.mu.Unlock() if err := ac.nextAddr(); err != nil { @@ -976,7 +977,6 @@ func (ac *addrConn) resetTransport(resolveNow bool) { ac.mu.Unlock() return } - ac.transport = nil backoffIdx := ac.backoffIdx backoffFor := ac.dopts.bs.Backoff(backoffIdx)