Thanks to visit codestin.com
Credit goes to github.com

Skip to content
This repository was archived by the owner on Jun 14, 2023. It is now read-only.
This repository was archived by the owner on Jun 14, 2023. It is now read-only.

close gRPCReporter error #129

@lokichoggio

Description

@lokichoggio

when close gRPCReporter, error like this

go2sky-gRPC2021/09/22 17:03:57 send closing error rpc error: code = Canceled desc = grpc: the client connection is closing
go2sky-gRPC2021/09/22 17:03:57 rpc error: code = Canceled desc = grpc: the client connection is closing

if r.sendCh != nil,r.closeStream and r.closeGRPCConn (line 268) maybe called after r.closeGRPCConn (line 236)

go2sky/reporter/grpc.go

Lines 232 to 237 in b16c9f0

func (r *gRPCReporter) Close() {
if r.sendCh != nil {
close(r.sendCh)
}
r.closeGRPCConn()
}

go2sky/reporter/grpc.go

Lines 247 to 273 in b16c9f0

func (r *gRPCReporter) initSendPipeline() {
if r.traceClient == nil {
return
}
go func() {
StreamLoop:
for {
stream, err := r.traceClient.Collect(metadata.NewOutgoingContext(context.Background(), r.md))
if err != nil {
r.logger.Printf("open stream error %v", err)
time.Sleep(5 * time.Second)
continue StreamLoop
}
for s := range r.sendCh {
err = stream.Send(s)
if err != nil {
r.logger.Printf("send segment error %v", err)
r.closeStream(stream)
continue StreamLoop
}
}
r.closeStream(stream)
r.closeGRPCConn()
break
}
}()
}

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No type

Projects

No projects

Milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions