From 4a0c97fd9541f1fdb213a8f03292a05ad4ad1e1e Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=E6=9D=8E=E5=BF=97=E4=BF=A1?=
 <lizhixin@B-C0A1LVDL-2144.local>
Date: Tue, 29 Dec 2020 16:59:09 +0800
Subject: [PATCH] ftr: add grpc ctx transfer support

---
 protocol/grpc/grpc_invoker.go                        | 2 +-
 protocol/grpc/protoc-gen-dubbo/plugin/dubbo/dubbo.go | 4 ++--
 2 files changed, 3 insertions(+), 3 deletions(-)

diff --git a/protocol/grpc/grpc_invoker.go b/protocol/grpc/grpc_invoker.go
index 02e771611..9647ecb9c 100644
--- a/protocol/grpc/grpc_invoker.go
+++ b/protocol/grpc/grpc_invoker.go
@@ -63,7 +63,7 @@ func (gi *GrpcInvoker) Invoke(ctx context.Context, invocation protocol.Invocatio
 	}
 
 	var in []reflect.Value
-	in = append(in, reflect.ValueOf(context.Background()))
+	in = append(in, reflect.ValueOf(ctx))
 	in = append(in, invocation.ParameterValues()...)
 
 	methodName := invocation.MethodName()
diff --git a/protocol/grpc/protoc-gen-dubbo/plugin/dubbo/dubbo.go b/protocol/grpc/protoc-gen-dubbo/plugin/dubbo/dubbo.go
index a9f50e828..11e9b2115 100644
--- a/protocol/grpc/protoc-gen-dubbo/plugin/dubbo/dubbo.go
+++ b/protocol/grpc/protoc-gen-dubbo/plugin/dubbo/dubbo.go
@@ -281,7 +281,7 @@ func (g *dubboGrpc) generateServerMethod(servName, fullServName string, method *
 		g.P(`invo := invocation.NewRPCInvocation("`, methName, `", args, nil)`)
 
 		g.P("if interceptor == nil {")
-		g.P("result := base.GetProxyImpl().Invoke(context.Background(), invo)")
+		g.P("result := base.GetProxyImpl().Invoke(ctx, invo)")
 		g.P("return result.Result(), result.Error()")
 		g.P("}")
 
@@ -291,7 +291,7 @@ func (g *dubboGrpc) generateServerMethod(servName, fullServName string, method *
 		g.P("}")
 
 		g.P("handler := func(ctx ", contextPkg, ".Context, req interface{}) (interface{}, error) {")
-		g.P("result := base.GetProxyImpl().Invoke(context.Background(), invo)")
+		g.P("result := base.GetProxyImpl().Invoke(ctx, invo)")
 		g.P("return result.Result(), result.Error()")
 		g.P("}")
 
-- 
GitLab