From 300b39b5af583533abf60b763ebcd421ed0fc690 Mon Sep 17 00:00:00 2001 From: Chris Lu Date: Fri, 5 Apr 2019 01:09:06 -0700 Subject: [PATCH] weed filer.copy: use cached filer grpc connection another attemp for https://github.com/chrislusf/seaweedfs/issues/915 --- weed/command/filer_copy.go | 12 ++++-------- 1 file changed, 4 insertions(+), 8 deletions(-) diff --git a/weed/command/filer_copy.go b/weed/command/filer_copy.go index bd4c7d166..b34ab55d1 100644 --- a/weed/command/filer_copy.go +++ b/weed/command/filer_copy.go @@ -343,13 +343,9 @@ func detectMimeType(f *os.File) string { func withFilerClient(ctx context.Context, filerAddress string, grpcDialOption grpc.DialOption, fn func(filer_pb.SeaweedFilerClient) error) error { - grpcConnection, err := util.GrpcDial(ctx, filerAddress, grpcDialOption) - if err != nil { - return fmt.Errorf("fail to dial %s: %v", filerAddress, err) - } - defer grpcConnection.Close() - - client := filer_pb.NewSeaweedFilerClient(grpcConnection) + return util.WithCachedGrpcClient(ctx, func(clientConn *grpc.ClientConn) error { + client := filer_pb.NewSeaweedFilerClient(clientConn) + return fn(client) + }, filerAddress, grpcDialOption) - return fn(client) }