From 1ad5f1228d9f4efac4133eec85e2c337455e948d Mon Sep 17 00:00:00 2001 From: Jacob Vosmaer Date: Thu, 30 Sep 2021 11:28:53 +0000 Subject: Send bigger gRPC messages --- internal/gitaly/service/ref/refs.go | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/internal/gitaly/service/ref/refs.go b/internal/gitaly/service/ref/refs.go index ffd1fd2c4..c6e5b141a 100644 --- a/internal/gitaly/service/ref/refs.go +++ b/internal/gitaly/service/ref/refs.go @@ -6,6 +6,7 @@ import ( "context" "errors" "fmt" + "io" "math" "os" "strings" @@ -392,6 +393,10 @@ func (s *server) ForEachRefRaw(req *gitalypb.ForEachRefRawRequest, stream gitaly return err } + stdout := bufio.NewWriterSize(struct{ io.Writer }{streamio.NewWriter(func(p []byte) error { + return stream.Send(&gitalypb.ForEachRefRawResponse{Data: p}) + })}, 32*1024) + catFile, err := repo.Exec(ctx, git.SubCmd{ Name: "cat-file", @@ -401,9 +406,7 @@ func (s *server) ForEachRefRaw(req *gitalypb.ForEachRefRawRequest, stream gitaly }, }, git.WithStdin(pr), - git.WithStdout(streamio.NewWriter(func(p []byte) error { - return stream.Send(&gitalypb.ForEachRefRawResponse{Data: p}) - })), + git.WithStdout(stdout), ) if err != nil { return err @@ -418,6 +421,9 @@ func (s *server) ForEachRefRaw(req *gitalypb.ForEachRefRawRequest, stream gitaly if err := forEachRef.Wait(); err != nil { return err } + if err := stdout.Flush(); err != nil { + return err + } return nil } -- cgit v1.2.3