diff options
| -rw-r--r-- | go.mod | 6 | ||||
| -rw-r--r-- | go.sum | 12 | ||||
| -rw-r--r-- | vendor/go.opentelemetry.io/otel/exporters/otlp/otlptrace/version.go | 2 | ||||
| -rw-r--r-- | vendor/google.golang.org/grpc/call.go | 5 | ||||
| -rw-r--r-- | vendor/google.golang.org/grpc/clientconn.go | 38 | ||||
| -rw-r--r-- | vendor/google.golang.org/grpc/stream.go | 15 | ||||
| -rw-r--r-- | vendor/google.golang.org/grpc/version.go | 2 | ||||
| -rw-r--r-- | vendor/modules.txt | 6 | 
8 files changed, 50 insertions, 36 deletions
@@ -55,7 +55,7 @@ require (  	github.com/wagslane/go-password-validator v0.3.0  	github.com/yuin/goldmark v1.5.6  	go.opentelemetry.io/otel v1.19.0 -	go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc v1.18.0 +	go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc v1.19.0  	go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp v1.18.0  	go.opentelemetry.io/otel/sdk v1.19.0  	go.opentelemetry.io/otel/trace v1.19.0 @@ -160,7 +160,7 @@ require (  	github.com/uptrace/opentelemetry-go-extra/otelsql v0.2.2 // indirect  	github.com/vmihailenco/msgpack/v5 v5.3.5 // indirect  	github.com/vmihailenco/tagparser/v2 v2.0.0 // indirect -	go.opentelemetry.io/otel/exporters/otlp/otlptrace v1.18.0 // indirect +	go.opentelemetry.io/otel/exporters/otlp/otlptrace v1.19.0 // indirect  	go.opentelemetry.io/otel/metric v1.19.0 // indirect  	go.opentelemetry.io/proto/otlp v1.0.0 // indirect  	golang.org/x/arch v0.3.0 // indirect @@ -170,7 +170,7 @@ require (  	google.golang.org/appengine v1.6.7 // indirect  	google.golang.org/genproto/googleapis/api v0.0.0-20230711160842-782d3b101e98 // indirect  	google.golang.org/genproto/googleapis/rpc v0.0.0-20230711160842-782d3b101e98 // indirect -	google.golang.org/grpc v1.58.0 // indirect +	google.golang.org/grpc v1.58.2 // indirect  	google.golang.org/protobuf v1.31.0 // indirect  	gopkg.in/ini.v1 v1.67.0 // indirect  	gopkg.in/yaml.v2 v2.4.0 // indirect @@ -632,10 +632,10 @@ go.opencensus.io v0.22.4/go.mod h1:yxeiOL68Rb0Xd1ddK5vPZ/oVn4vY4Ynel7k9FzqtOIw=  go.opencensus.io v0.22.5/go.mod h1:5pWMHQbX5EPX2/62yrJeAkowc+lfs/XD7Uxpq3pI6kk=  go.opentelemetry.io/otel v1.19.0 h1:MuS/TNf4/j4IXsZuJegVzI1cwut7Qc00344rgH7p8bs=  go.opentelemetry.io/otel v1.19.0/go.mod h1:i0QyjOq3UPoTzff0PJB2N66fb4S0+rSbSB15/oyH9fY= -go.opentelemetry.io/otel/exporters/otlp/otlptrace v1.18.0 h1:IAtl+7gua134xcV3NieDhJHjjOVeJhXAnYf/0hswjUY= -go.opentelemetry.io/otel/exporters/otlp/otlptrace v1.18.0/go.mod h1:w+pXobnBzh95MNIkeIuAKcHe/Uu/CX2PKIvBP6ipKRA= -go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc v1.18.0 h1:yE32ay7mJG2leczfREEhoW3VfSZIvHaB+gvVo1o8DQ8= -go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc v1.18.0/go.mod h1:G17FHPDLt74bCI7tJ4CMitEk4BXTYG4FW6XUpkPBXa4= +go.opentelemetry.io/otel/exporters/otlp/otlptrace v1.19.0 h1:Mne5On7VWdx7omSrSSZvM4Kw7cS7NQkOOmLcgscI51U= +go.opentelemetry.io/otel/exporters/otlp/otlptrace v1.19.0/go.mod h1:IPtUMKL4O3tH5y+iXVyAXqpAwMuzC1IrxVS81rummfE= +go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc v1.19.0 h1:3d+S281UTjM+AbF31XSOYn1qXn3BgIdWl8HNEpx08Jk= +go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc v1.19.0/go.mod h1:0+KuTDyKL4gjKCF75pHOX4wuzYDUZYfAQdSu43o+Z2I=  go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp v1.18.0 h1:6pu8ttx76BxHf+xz/H77AUZkPF3cwWzXqAUsXhVKI18=  go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp v1.18.0/go.mod h1:IOmXxPrxoxFMXdNy7lfDmE8MzE61YPcurbUm0SMjerI=  go.opentelemetry.io/otel/metric v1.19.0 h1:aTzpGtV0ar9wlV4Sna9sdJyII5jTVJEvKETPiOKwvpE= @@ -1003,8 +1003,8 @@ google.golang.org/grpc v1.31.1/go.mod h1:N36X2cJ7JwdamYAgDz+s+rVMFjt3numwzf/HckM  google.golang.org/grpc v1.33.2/go.mod h1:JMHMWHQWaTccqQQlmk3MJZS+GWXOdAesneDmEnv2fbc=  google.golang.org/grpc v1.34.0/go.mod h1:WotjhfgOW/POjDeRt8vscBtXq+2VjORFy659qA51WJ8=  google.golang.org/grpc v1.35.0/go.mod h1:qjiiYl8FncCW8feJPdyg3v6XW24KsRHe+dy9BAGRRjU= -google.golang.org/grpc v1.58.0 h1:32JY8YpPMSR45K+c3o6b8VL73V+rR8k+DeMIr4vRH8o= -google.golang.org/grpc v1.58.0/go.mod h1:tgX3ZQDlNJGU96V6yHh1T/JeoBQ2TXdr43YbYSsCJk0= +google.golang.org/grpc v1.58.2 h1:SXUpjxeVF3FKrTYQI4f4KvbGD5u2xccdYdurwowix5I= +google.golang.org/grpc v1.58.2/go.mod h1:tgX3ZQDlNJGU96V6yHh1T/JeoBQ2TXdr43YbYSsCJk0=  google.golang.org/protobuf v0.0.0-20200109180630-ec00e32a8dfd/go.mod h1:DFci5gLYBciE7Vtevhsrf46CRTquxDuWsQurQQe4oz8=  google.golang.org/protobuf v0.0.0-20200221191635-4d8936d0db64/go.mod h1:kwYJMbMJ01Woi6D6+Kah6886xMZcty6N08ah7+eCXa0=  google.golang.org/protobuf v0.0.0-20200228230310-ab0ca4ff8a60/go.mod h1:cfTl7dwQJ+fmap5saPgwCLgHXTUD7jkjRqWcaiX5VyM= diff --git a/vendor/go.opentelemetry.io/otel/exporters/otlp/otlptrace/version.go b/vendor/go.opentelemetry.io/otel/exporters/otlp/otlptrace/version.go index 661c146c2..10ac73ee3 100644 --- a/vendor/go.opentelemetry.io/otel/exporters/otlp/otlptrace/version.go +++ b/vendor/go.opentelemetry.io/otel/exporters/otlp/otlptrace/version.go @@ -16,5 +16,5 @@ package otlptrace // import "go.opentelemetry.io/otel/exporters/otlp/otlptrace"  // Version is the current release version of the OpenTelemetry OTLP trace exporter in use.  func Version() string { -	return "1.18.0" +	return "1.19.0"  } diff --git a/vendor/google.golang.org/grpc/call.go b/vendor/google.golang.org/grpc/call.go index a67a3db02..788c89c16 100644 --- a/vendor/google.golang.org/grpc/call.go +++ b/vendor/google.golang.org/grpc/call.go @@ -27,11 +27,6 @@ import (  //  // All errors returned by Invoke are compatible with the status package.  func (cc *ClientConn) Invoke(ctx context.Context, method string, args, reply any, opts ...CallOption) error { -	if err := cc.idlenessMgr.OnCallBegin(); err != nil { -		return err -	} -	defer cc.idlenessMgr.OnCallEnd() -  	// allow interceptor to see all applicable call options, which means those  	// configured as defaults from dial option as well as per-call options  	opts = combine(cc.dopts.callOptions, opts) diff --git a/vendor/google.golang.org/grpc/clientconn.go b/vendor/google.golang.org/grpc/clientconn.go index d53d91d5d..ff7fea102 100644 --- a/vendor/google.golang.org/grpc/clientconn.go +++ b/vendor/google.golang.org/grpc/clientconn.go @@ -1091,8 +1091,8 @@ func (ac *addrConn) updateAddrs(addrs []resolver.Address) {  	ac.cancel()  	ac.ctx, ac.cancel = context.WithCancel(ac.cc.ctx) -	// We have to defer here because GracefulClose => Close => onClose, which -	// requires locking ac.mu. +	// We have to defer here because GracefulClose => onClose, which requires +	// locking ac.mu.  	if ac.transport != nil {  		defer ac.transport.GracefulClose()  		ac.transport = nil @@ -1680,16 +1680,7 @@ func (ac *addrConn) tearDown(err error) {  	ac.updateConnectivityState(connectivity.Shutdown, nil)  	ac.cancel()  	ac.curAddr = resolver.Address{} -	if err == errConnDrain && curTr != nil { -		// GracefulClose(...) may be executed multiple times when -		// i) receiving multiple GoAway frames from the server; or -		// ii) there are concurrent name resolver/Balancer triggered -		// address removal and GoAway. -		// We have to unlock and re-lock here because GracefulClose => Close => onClose, which requires locking ac.mu. -		ac.mu.Unlock() -		curTr.GracefulClose() -		ac.mu.Lock() -	} +  	channelz.AddTraceEvent(logger, ac.channelzID, 0, &channelz.TraceEventDesc{  		Desc:     "Subchannel deleted",  		Severity: channelz.CtInfo, @@ -1703,6 +1694,29 @@ func (ac *addrConn) tearDown(err error) {  	// being deleted right away.  	channelz.RemoveEntry(ac.channelzID)  	ac.mu.Unlock() + +	// We have to release the lock before the call to GracefulClose/Close here +	// because both of them call onClose(), which requires locking ac.mu. +	if curTr != nil { +		if err == errConnDrain { +			// Close the transport gracefully when the subConn is being shutdown. +			// +			// GracefulClose() may be executed multiple times if: +			// - multiple GoAway frames are received from the server +			// - there are concurrent name resolver or balancer triggered +			//   address removal and GoAway +			curTr.GracefulClose() +		} else { +			// Hard close the transport when the channel is entering idle or is +			// being shutdown. In the case where the channel is being shutdown, +			// closing of transports is also taken care of by cancelation of cc.ctx. +			// But in the case where the channel is entering idle, we need to +			// explicitly close the transports here. Instead of distinguishing +			// between these two cases, it is simpler to close the transport +			// unconditionally here. +			curTr.Close(err) +		} +	}  }  func (ac *addrConn) getState() connectivity.State { diff --git a/vendor/google.golang.org/grpc/stream.go b/vendor/google.golang.org/grpc/stream.go index 421a41f88..b14b2fbea 100644 --- a/vendor/google.golang.org/grpc/stream.go +++ b/vendor/google.golang.org/grpc/stream.go @@ -158,11 +158,6 @@ type ClientStream interface {  // If none of the above happen, a goroutine and a context will be leaked, and grpc  // will not call the optionally-configured stats handler with a stats.End message.  func (cc *ClientConn) NewStream(ctx context.Context, desc *StreamDesc, method string, opts ...CallOption) (ClientStream, error) { -	if err := cc.idlenessMgr.OnCallBegin(); err != nil { -		return nil, err -	} -	defer cc.idlenessMgr.OnCallEnd() -  	// allow interceptor to see all applicable call options, which means those  	// configured as defaults from dial option as well as per-call options  	opts = combine(cc.dopts.callOptions, opts) @@ -179,6 +174,16 @@ func NewClientStream(ctx context.Context, desc *StreamDesc, cc *ClientConn, meth  }  func newClientStream(ctx context.Context, desc *StreamDesc, cc *ClientConn, method string, opts ...CallOption) (_ ClientStream, err error) { +	// Start tracking the RPC for idleness purposes. This is where a stream is +	// created for both streaming and unary RPCs, and hence is a good place to +	// track active RPC count. +	if err := cc.idlenessMgr.OnCallBegin(); err != nil { +		return nil, err +	} +	// Add a calloption, to decrement the active call count, that gets executed +	// when the RPC completes. +	opts = append([]CallOption{OnFinish(func(error) { cc.idlenessMgr.OnCallEnd() })}, opts...) +  	if md, added, ok := metadata.FromOutgoingContextRaw(ctx); ok {  		// validate md  		if err := imetadata.Validate(md); err != nil { diff --git a/vendor/google.golang.org/grpc/version.go b/vendor/google.golang.org/grpc/version.go index 914ce665f..d3f5bcbfc 100644 --- a/vendor/google.golang.org/grpc/version.go +++ b/vendor/google.golang.org/grpc/version.go @@ -19,4 +19,4 @@  package grpc  // Version is the current grpc version. -const Version = "1.58.0" +const Version = "1.58.2" diff --git a/vendor/modules.txt b/vendor/modules.txt index f068c5b51..8120de751 100644 --- a/vendor/modules.txt +++ b/vendor/modules.txt @@ -768,11 +768,11 @@ go.opentelemetry.io/otel/semconv/v1.17.0  go.opentelemetry.io/otel/semconv/v1.17.0/httpconv  go.opentelemetry.io/otel/semconv/v1.20.0  go.opentelemetry.io/otel/semconv/v1.21.0 -# go.opentelemetry.io/otel/exporters/otlp/otlptrace v1.18.0 +# go.opentelemetry.io/otel/exporters/otlp/otlptrace v1.19.0  ## explicit; go 1.20  go.opentelemetry.io/otel/exporters/otlp/otlptrace  go.opentelemetry.io/otel/exporters/otlp/otlptrace/internal/tracetransform -# go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc v1.18.0 +# go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc v1.19.0  ## explicit; go 1.20  go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc  go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc/internal @@ -931,7 +931,7 @@ google.golang.org/genproto/googleapis/api/httpbody  ## explicit; go 1.19  google.golang.org/genproto/googleapis/rpc/errdetails  google.golang.org/genproto/googleapis/rpc/status -# google.golang.org/grpc v1.58.0 +# google.golang.org/grpc v1.58.2  ## explicit; go 1.19  google.golang.org/grpc  google.golang.org/grpc/attributes  | 
