diff --git a/pkg/remote/codec/grpc/grpc_compress.go b/pkg/remote/codec/grpc/grpc_compress.go index 3d257bb9ef..a8fe32a0a9 100644 --- a/pkg/remote/codec/grpc/grpc_compress.go +++ b/pkg/remote/codec/grpc/grpc_compress.go @@ -23,10 +23,10 @@ import ( "errors" "io" - "github.com/cloudwego/kitex/pkg/rpcinfo" - "github.com/bytedance/gopkg/lang/mcache" + "github.com/cloudwego/kitex/pkg/rpcinfo" + "github.com/cloudwego/kitex/pkg/remote/codec/protobuf/encoding" "github.com/cloudwego/kitex/pkg/remote" @@ -63,7 +63,9 @@ func decodeGRPCFrame(ctx context.Context, in remote.ByteBuffer) ([]byte, error) } func compress(compressor encoding.Compressor, data []byte) ([]byte, error) { - defer mcache.Free(data) + if len(data) != 0 { + defer mcache.Free(data) + } cbuf := &bytes.Buffer{} z, err := compressor.Compress(cbuf) if err != nil {