Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Why gRPC Server closes a connection at the 2nd GOAWAY. #6019

Closed
hiyosi opened this issue Feb 13, 2023 · 31 comments · Fixed by #6110
Closed

Why gRPC Server closes a connection at the 2nd GOAWAY. #6019

hiyosi opened this issue Feb 13, 2023 · 31 comments · Fixed by #6110

Comments

@hiyosi
Copy link

hiyosi commented Feb 13, 2023

In my under standing, the gRPC Server closes a connection at sending the 2nd GOAWAY frame if there is no active streams.

https://github.com/grpc/grpc-go/blob/v1.53.0/internal/transport/http2_server.go#L1346-L1350
https://github.com/grpc/grpc-go/blob/v1.53.0/internal/transport/http2_server.go#L336-L342

But is there a data race between Flush() and Close() ?
Because I sometimes find the error connection rest by peer around the 2nd GOAWAY.

If some data (e.g. PING frame) is received between Flush() and Close(), the server close the connection by sending the RST packet instead of FIN packet isn't it? and an error occur at client side.

As described at

// 1. If the call to ss.S.Stop() causes the server's sockets to close while
// there's still in-fight data from the client on the TCP connection, then
// the kernel can send an RST back to the client (also see
// https://stackoverflow.com/questions/33053507/econnreset-in-send-linux-c).
// Note that while this condition is expected to be rare due to the
// test httpServer start synchronization, in theory it should be possible,
// e.g. if the client sends a BDP ping at the right time.

I would like to know the reason that the connection is closed from the server instead of waiting for the client to close the connection after the 2nd GOAWAY.
On the other hand, the same process is followed in the case of Too Many Pings, but I do not consider that to be a problem.

@easwars
Copy link
Contributor

easwars commented Feb 14, 2023

Are you running into any issue because of this behavior? If so, could you please explain that in detail.

The GOAWAY behavior that we implement is based on https://httpwg.org/specs/rfc7540.html#rfc.section.6.8. When the server sends the first GOAWAY, it usually gives some time to the client to terminate the connection gracefully, before sending the second GOAWAY (at which point, the connection is hard closed).

@hiyosi
Copy link
Author

hiyosi commented Feb 15, 2023

@easwars Thank you for replying.

In my environment, I sometimes get the connection rest by peer error while client gRPC calls and it is happening around GOAWAY.
And I captured the packets, I found out the server close the connection by sending RST packets at that case.

e.g. client logs (v1.51.0)

 error="rpc error: code = Unavailable desc = closing transport due to: connection error: desc = \"error reading from server: read tcp ${CLIENT_IP}:${CLIENT_PORT}->${SERVER_IP}:${SERVER_PORT}: read: connection reset by peer\", received prior goaway: code: NO_ERROR

e.g. server logs (v1.51.0)

ERROR: [transport] transport: loopyWriter.run returning. Err: transport: Connection closing
WARNING: [transport] transport: http2Server.HandleStreams failed to read frame: read tcp ${SERVER_ADDR}:${SERVER_PORT}->${CLIENT_ADDR}:${CLIENT_PORT}: use of closed network connection
INFO: [transport] transport: error closing conn during Close: use of closed network connection
INFO: [transport] transport: loopyWriter.run returning. connection error: desc = "transport is closing"

Also I found the following successful cases.

  • The client receives the 1st GOAWAY, it closes the existing connection by sending FIN packets and starts a new one. (no errors)
  • The client receives the 2st GOAWAY, and the server closes the existing connection by sending FIN packets. (no errors)

The gRPC server is configured as below.

grpc.NewServer(
	grpc.UnaryInterceptor(unaryInterceptor),
	grpc.StreamInterceptor(streamInterceptor),
	grpc.Creds(credentials.NewTLS(tlsConfig)),
	grpc.KeepaliveParams(keepalive.ServerParameters{
		MaxConnectionAge: 3 * time.Minute,
	}),
)

The gRPC client is configured as below.

grpc.DialContext(ctx, address,
	grpc.WithDefaultServiceConfig(`{ "loadBalancingConfig": [ { "round_robin": {} } ] }`),
	grpc.FailOnNonTempDialError(true),
	grpc.WithBlock(),
	grpc.WithReturnConnectionError(),
	grpc.WithTransportCredentials(credentials.NewTLS(tlsConfig)),
)

The configuration is intended for load balancing connections.
I have created similar issues before and understand the behavior of GOAWAY ( #5969 )

So I am wondering if there is a possibility race in case of the server closes the connection like described the comments of test case.

// 1. If the call to ss.S.Stop() causes the server's sockets to close while
// there's still in-fight data from the client on the TCP connection, then
// the kernel can send an RST back to the client (also see
// https://stackoverflow.com/questions/33053507/econnreset-in-send-linux-c).
// Note that while this condition is expected to be rare due to the
// test httpServer start synchronization, in theory it should be possible,
// e.g. if the client sends a BDP ping at the right time.

In addition, I have disabled dynamic windows and BDP in the client settings as shown in #5358, I have not seen any errors at this time.

@easwars
Copy link
Contributor

easwars commented Feb 15, 2023

In my environment, I sometimes get the connection rest by peer error while client gRPC calls and it is happening around GOAWAY. And I captured the packets, I found out the server close the connection by sending RST packets at that case.

Do you feel that the server is closing the connection when it should not have? Or do you feel that the server is not giving enough time for the client to gracefully close the connection from its end?

Because I still don't understand what problem you are facing.

@hiyosi
Copy link
Author

hiyosi commented Feb 15, 2023

I am not sure, why the server send RST packets.
I suspect that the problem may be caused by timing.

e.g. If the server closed the connection while there were still unhandled data in the socket buffer it will send a RST packet.

Is there a possibility like above around GOAWAY?

@dfawley
Copy link
Member

dfawley commented Feb 16, 2023

I would like to know the reason that the connection is closed from the server instead of waiting for the client to close the connection after the 2nd GOAWAY.

We used to rely on the client closing the connection, but that is a bug. The server needs to protect itself from a client that does not close the connection, and there are clients in the wild that don't do this properly. This was actually the case in v1.51, which you were using. It was only fixed in #5968.

Can you test this again with v1.53? It's possible the changes made since v1.51 fixes a problem you may be seeing.

@hiyosi
Copy link
Author

hiyosi commented Feb 17, 2023

@dfawley

Yes, I will test with v1.53. Please wait for some days due to low reproducibility.

@easwars
Copy link
Contributor

easwars commented Feb 18, 2023

I am not sure, why the server send RST packets. I suspect that the problem may be caused by timing.

Yes, I think so too. And this is not under the control of the gRPC server. This is under the control of the TCP implementation in the kernel.

e.g. If the server closed the connection while there were still unhandled data in the socket buffer it will send a RST packet. Is there a possibility like above around GOAWAY?

gRPC server flushes all data in its write buffer before closing the TCP connection.

Also, what I feel is more important in this scenario is that the gRPC server should stop handling new streams on the connection once it sends the second GOAWAY frame. And it is currently doing that, and I was able to verify the same.

@easwars easwars removed their assignment Feb 18, 2023
@hiyosi
Copy link
Author

hiyosi commented Feb 20, 2023

@dfawley
The error is occurred even in v1.53.

@easwars
Thank you for replying.
Is the only error mitigation I can do on gRPC layer is to "disable BDP estimation"? Any other good mitigations?

@github-actions
Copy link

This issue is labeled as requiring an update from the reporter, and no update has been received after 6 days. If no update is provided in the next 7 days, this issue will be automatically closed.

@github-actions github-actions bot added the stale label Feb 26, 2023
@dfawley
Copy link
Member

dfawley commented Feb 27, 2023

Is it possible for you to provide a reproduction test case that we can run? Otherwise, our code seems okay through inspection, and if we can't stimulate the problem then we won't be able to debug it. Thanks!

@dfawley dfawley removed the stale label Feb 27, 2023
@hiyosi
Copy link
Author

hiyosi commented Feb 28, 2023

@dfawley You can see the error by follows.

codes are based on https://github.com/grpc/grpc-go/tree/master/examples/features/keepalive

server

package main

import (
	"context"
	"flag"
	"fmt"
	"log"
	"math/rand"
	"net"
	"time"

	"google.golang.org/grpc"
	"google.golang.org/grpc/benchmark/latency"
	pb "google.golang.org/grpc/examples/features/proto/echo"
	"google.golang.org/grpc/keepalive"
)

var port = flag.Int("port", 50052, "port number")

var kasp = keepalive.ServerParameters{
	MaxConnectionAge: 10 * time.Second,
}

// server implements EchoServer.
type server struct {
	pb.UnimplementedEchoServer
}

var letterRunes = []rune("abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ")

func randomString(n int) string {
	b := make([]rune, n)
	for i := range b {
		b[i] = letterRunes[rand.Intn(len(letterRunes))]
	}
	return string(b)
}

func (s *server) UnaryEcho(ctx context.Context, req *pb.EchoRequest) (*pb.EchoResponse, error) {
	msg := req.Message + randomString(630000)
	return &pb.EchoResponse{Message: msg}, nil
}

func main() {
	flag.Parse()
	rand.Seed(time.Now().UnixNano())

	address := fmt.Sprintf(":%v", *port)
	lis, err := net.Listen("tcp", address)
	if err != nil {
		log.Fatalf("failed to listen: %v", err)
	}
	sLis := latency.Longhaul.Listener(lis)

	s := grpc.NewServer(grpc.KeepaliveParams(kasp))
	pb.RegisterEchoServer(s, &server{})

	if err := s.Serve(sLis); err != nil {
		log.Fatalf("failed to serve: %v", err)
	}
}

client

package main

import (
	"context"
	"flag"
	"fmt"
	"log"
	"math/rand"
	"net"
	"time"

	"google.golang.org/grpc"
	"google.golang.org/grpc/benchmark/latency"
	"google.golang.org/grpc/credentials/insecure"
	pb "google.golang.org/grpc/examples/features/proto/echo"
)

var addr = flag.String("addr", "localhost:50052", "the address to connect to")

func main() {
	flag.Parse()

	//const maxWindowSize int32 = (1 << 20) * 16

	conn, err := grpc.Dial(*addr,
		//grpc.WithInitialWindowSize(maxWindowSize),
		//grpc.WithInitialConnWindowSize(maxWindowSize),
		grpc.WithTransportCredentials(insecure.NewCredentials()),
		grpc.WithBlock(),
		grpc.WithReturnConnectionError(),
		grpc.FailOnNonTempDialError(true),
		grpc.WithContextDialer(func(ctx context.Context, addr string) (net.Conn, error) {
			dialer := latency.Longhaul.Dialer(net.Dial)
			sConn, err := dialer("tcp4", addr)
			if err != nil {
				return nil, err
			}
			return sConn, nil
		}))
	if err != nil {
		log.Fatalf("did not connect: %v", err)
	}
	defer conn.Close()

	for {
		c := pb.NewEchoClient(conn)

		fmt.Println("Performing unary request")
		_, err = c.UnaryEcho(context.Background(), &pb.EchoRequest{Message: "keepalive demo"})
		if err != nil {
			log.Fatalf("unexpected error from UnaryEcho: %v", err)
		}
		fmt.Println("Got RPC response")

		base := float64(1 * time.Second)
		var delta = 0.10 * float64(1*time.Second)
		var min = base - delta
		var max = base + delta
		interVal := time.Duration(min + (rand.Float64() * (max - min + 1)))
		fmt.Printf("sleeping %v\n", interVal)
		time.Sleep(interVal)
	}
	select {}
}

The error may differ depending on the situation(timing).
But in any case, I confirmed that the RST packet is sent.

In my understanding,
If write() is called to CLOSED connection, got "broken pipe"
If read() is called to CLOSED connection, got "connection reset by peer"

e.g. error logs

case 1 (closed the connection after the 2nd GOAWAY)

server log

2023/02/28 18:00:44 http2: Framer 0xc0000ba000: wrote GOAWAY len=8 LastStreamID=2147483647 ErrCode=NO_ERROR Debug=""
2023/02/28 18:00:44 http2: Framer 0xc0000ba000: wrote PING len=8 ping="\x01\x06\x01\b\x00\x03\x03\t"
2023/02/28 18:00:45 http2: Framer 0xc0000ba000: read HEADERS flags=END_HEADERS stream=11 len=7
2023/02/28 18:00:45 http2: decoded hpack field header field ":method" = "POST"
2023/02/28 18:00:45 http2: decoded hpack field header field ":scheme" = "http"
2023/02/28 18:00:45 http2: decoded hpack field header field ":path" = "/grpc.examples.echo.Echo/UnaryEcho"
2023/02/28 18:00:45 http2: decoded hpack field header field ":authority" = "localhost:50052"
2023/02/28 18:00:45 http2: decoded hpack field header field "content-type" = "application/grpc"
2023/02/28 18:00:45 http2: decoded hpack field header field "user-agent" = "grpc-go/1.54.0-dev"
2023/02/28 18:00:45 http2: decoded hpack field header field "te" = "trailers"
2023/02/28 18:00:45 http2: Framer 0xc0000ba000: read DATA flags=END_STREAM stream=11 len=21 data="\x00\x00\x00\x00\x10\n\x0ekeepalive demo"
2023/02/28 18:00:45 http2: Framer 0xc0000ba000: wrote WINDOW_UPDATE len=4 (conn) incr=21
2023/02/28 18:00:45 http2: Framer 0xc0000ba000: wrote PING len=8 ping="\x02\x04\x10\x10\t\x0e\a\a"
2023/02/28 18:00:45 http2: Framer 0xc0000ba000: read PING flags=ACK len=8 ping="\x01\x06\x01\b\x00\x03\x03\t"
2023/02/28 18:00:45 http2: Framer 0xc0000ba000: wrote GOAWAY len=8 LastStreamID=11 ErrCode=NO_ERROR Debug=""
2023/02/28 18:00:45 http2: Framer 0xc0000ba000: wrote HEADERS flags=END_HEADERS stream=11 len=2
2023/02/28 18:00:45 http2: Framer 0xc0000ba000: wrote DATA stream=11 len=16384 data="\x00\x00\t\x9d\x02\n\xfe\xb9&keepalive demorgquwwbmljYXOtQrGGpfzVppkVYwaaQgexCAJciYlGUGGiSRADkQLdpBHuKIUvrCfdyeDbsFJxHUjookyPPeAteMLrKnElsWBQFQMabxscjHqAudVLevCoUmpnjxUeaHizazziJxUfXgEfHPkZdtCPwthnTYfupAgSetMYaihZVvGcflHvkxNMGUswNunyNDxuQubtZjNvssZCtfMUZEFrDlYgvVGvIwmOxSZCfcl" (16128 bytes omitted)
2023/02/28 18:00:45 http2: Framer 0xc0000ba000: wrote DATA stream=11 len=16384 data="LSSlFdwRxrKxKOPzpxvgfimPPpoNinQrlxnHTXsHEiJvgDXFtMooEymQCXeMynxJEFCpxFbLrfJlCkHHMkdxrIUnGkjoDYGlcbaDOuJyXvVuCbLmBlIudZXYiFSAsZNYMjXpIWZPjRUdUKxnMRCcBcRltDVzcWlXMnbssKXmaDFwkriDkuahdLrIkUjMsifPddPFGOqiIxfajhRMSmmFAXlwkiHmDplGTnJSdeGWGNyWAFavJqSeLdkxjdbTUeqF" (16128 bytes omitted)
2023/02/28 18:00:45 http2: Framer 0xc0000ba000: wrote DATA stream=11 len=16384 data="gulHwnkWhauYBEGmSWEaMTwtwTxzSDrsgJitFhEShcXrXBOEWBzHjGgIoTzsGUhbUTQYHnzFkoPJKzpaTnbmjFLKtxMKhFkbhqQvSgYCsBhuuWhOhATlrDcoNgtobrBGfCzYjllZYWjaDjNHcfDaIYvKdzNhXrScNfNBsbfJPvlzQjlbGfJICOjFbypLsfNLdhRodoUoNmBYjjGoOLZinYBHdwnJQDISQoaZyxWPKwdtRUmFZncCZfvCmvfWoNou" (16128 bytes omitted)
2023/02/28 18:00:45 http2: Framer 0xc0000ba000: wrote DATA stream=11 len=16384 data="ARJbMSxJBRRBsMLwJuzYSrcHVjddlRZCABRzBMCaLIShRwrNurAAxHFcoooaxHlhwAXEXaqWaSAfdlWucZhLmCTTXtYaaTIETBWvSzDzkLNnLejJQginzhiccYmzbFpTqpyeJQkajhOTMAfxKrflZFYaenMgcipYdgCPZMVamiFGIrSHLctWqofITbNnCNsEniCkXLoChyMCfqDqqJONpJCsYCNhDGBsWsVzkyxhNdzxqgzbTBLKIMgfQosoNeFV" (16128 bytes omitted)
2023/02/28 18:00:45 http2: Framer 0xc0000ba000: wrote DATA stream=11 len=16384 data="mONRtDegAYATaeKxcgBJNwTQInikaZBrGOTHgphxVyQBDxKVSZAmRcBKXKRJKsOzQjYAwOnMPrDOdeNZrkarhYYeiKuONYLPRZglTsdGiPoneWnMqobMskysTkySvVGIoUfBNoHxjgXRpnyIKgCvQxadXhjVJtxnMFJVUOADlxJaLFhYwbstoqjdpKtxjmrnNtdEFZqBVoXNaYWGoeAvRHkMqarIvZjZNDMNbdBYgIIoFdsGdgsduQpWpidqGetl" (16128 bytes omitted)
2023/02/28 18:00:45 http2: Framer 0xc0000ba000: wrote DATA stream=11 len=16384 data="ypePALvXSieVIrJsgoWOfsAxJlByZTQmMumPIjetSUDqBPlbnrqPjNMgaJYppUIwtuzXhocHCxdtZrOFKKeZXMfQadEVadBseDYiJKSRlaKSHKUtcTVzibGPOjlZjFLvOdxCezbsiZcLtdBTdrwRrMNBhOcFyFHmiEHOCXFUVdqkjoyewdOuzaRqFVZKZGOslzuROFASebiKoaOIWqqcBwbJpgbBcVUJahlsNiEQNFfUuYbiMoGLqocvSCUtwzSg" (16128 bytes omitted)
2023/02/28 18:00:45 http2: Framer 0xc0000ba000: wrote DATA stream=11 len=16384 data="ymRYlruZeWuaWcBOGUOfFZDqsZERuiqlZniUVDqrdexnymqxJWQPDYIsbVRkeiPisjuPpqlTyAGKhKuaetxErLoeIsNGEoCqjSVVOFCExpoziZQaKutcvpfxnztbvnMtbcMcBCrfMOPaDsMPbYGUdunfMQRMEuRPjXoWRcCdMGAjeiYobnedrVDuqRoLHUjjxQYbsIsIjsRNtvhFBmyKysjnkCVXkJWhGqQkDchKPXkeBXKfBgTTHluZaNQZUXIX" (16128 bytes omitted)
2023/02/28 18:00:45 http2: Framer 0xc0000ba000: wrote DATA stream=11 len=16384 data="yQpnSHrOtrzWBYyvtknuRrsPCrrCqqrzbkoSHgPiGCCYUtvQraFWBGaJYgretivouHtcgdVyEncOBGyHlKeivemkXSpREjFeczlfxWBUyHlmQGZWESVuFQjIdFwkxBanQLvMthffohUmxrnORzPyMFTvQVmnexJaTqqYesJASzurLnQneaGJTvbSVOWSziLIcFqJmHzIsXywTiBzacszzwicxkezdcQXsNfUHVtZlROxtVUAmKmTgAUlQxmNWllJ" (16128 bytes omitted)
2023/02/28 18:00:45 http2: Framer 0xc0000ba000: wrote DATA stream=11 len=16384 data="RoVIkDYGsggwRjBIKhScxLkaQVkoFqGLQccADiUAUigrCLWVbYmpPuPsbSERiFPnLdpnDTZHbjPTWZRlzKrrGFoCzGJvzIhrgSjFSyAPpcSNhHyUjahWtZvWGwkcFUrDTVXKhjfAuhBXCQdvyIvoVKRNFvechuzBZhhtpsMMSwqggxduengnpTkPTPezeHgykDojHKyFPrGRfRHDueIvcFxHFyEuuPXBYJVjBvImbRKihJgYoooZuBsVIJfuqPPB" (16128 bytes omitted)
2023/02/28 18:00:45 http2: Framer 0xc0000ba000: wrote DATA stream=11 len=16384 data="ByhTjcMPvKehoTolierxgvxwEikXQMPiexLHzpXVxOvMuuHdnmusmyzILUDYAyCXUbMbUFfdYTnechwRzcEqKBGxfbRulgscpkZAtuYvUtWTYyYzvokpWNbkAnWZacBFlJQWvFHrsuAjDOGPhKrSJTkCRhZRvntyrksoZlQyXUuMyLAAcqDQnjyGgkBhQqhoNzykmyMbrSPiKFqoDfpNODVsJZkpQFXYTmzaWziGeLaGRLIcItLiauXdMfDeAACq" (16128 bytes omitted)
2023/02/28 18:00:45 http2: Framer 0xc0000ba000: wrote DATA stream=11 len=16384 data="EXBIAyFDzCOosppvaxhJAqlKculDLMslbxOSaYRpwdjmvSSZZCCJIdIIvjFzlPHpHcTgyWPSSxaLIIETbcIkACwpTAYEyrkOZTuoPCBjzDYYnbghapucQhNfIIZJWAfMjWiMdYNWtksrfilkGJgVedLBNSXOymYGjTsPvHlNhmiUoioDjYeNMmlfOBTmHFkyMwlVVIUyGJXZDUkpyrKCLinmzfQJyQQfywJjWHtNqlGkHdWLZtJeqjprcswpVTtR" (16128 bytes omitted)
2023/02/28 18:00:45 http2: Framer 0xc0000ba000: wrote DATA stream=11 len=16384 data="JnhpVbICnbpcIldZATzsozKWaBkSFLYjvGnqdFuJtDKQhFbxcUmroJGRKQsYSfMyxhReikFwERwCjOgfVhxIxtEDRWsSeVnXsrpqOkismODopeqShObxBIBfomIXZNcrXZzlzUSeutsFmeUZyfNGeDPhHuSiGqpFzlxmVPGUepEemHRjuIjKJRpYiEehVpqSKZXsSjbDmssAJuAOdEZTVhlkZRatpolkMWVBFrgNAjzogREdJBqWEmeSAZpApoEx" (16128 bytes omitted)
2023/02/28 18:00:45 http2: Framer 0xc0000ba000: wrote DATA stream=11 len=16384 data="hbFIWgRabGvXLuKzfShWBbYYEbDeGXEbQSLxnmIuwuogbbXRPflhtjabRIknxPVVHNCGQvevrKnRmbRYEPsYmaTenKPqgZVvJawQokYmjjOVOMXfkiZixphiislzFvxcfEGzpzuLHAnJztHGlvDWGbGRxjUWrfoSdDUEsoqxOqzsDbcAfWpbVEBoxlslJXgrEXcYCFCeOrtFTGwONPVXbTqTXciVhHBysqaeYKTBQHumUztmYNMbLDFZtBkmZLXF" (16128 bytes omitted)
2023/02/28 18:00:45 http2: Framer 0xc0000ba000: wrote DATA stream=11 len=16384 data="pLeWshKkvTsKJhqKFjyaVBYtigLOSkPeNgXNCJHNQOqhnuBOfwCsgYBXtsOCKWpdjMkUdkcBnJwmvjZsLXKuYQNNTzSJySJOSsAjRAFZHQmcxzbbWZvusJzbHMbfTqgGbXUIRtAULJLYUDIekVyKXSMraoUiKZZWmepUGDHWtMAVnjfxHcZcBQuSUSyEFiWkdyvCJcplHkXqjaubHaPosalCEBFzsRhnSpfIeUcAzrEANfYczcefcthahhXBBFnK" (16128 bytes omitted)
2023/02/28 18:00:45 http2: Framer 0xc0000ba000: wrote DATA stream=11 len=16384 data="UxpViFxDMEezyYGJmoHgAEPeurULkrFGVJzjKRAboYJAjTxwBsyuwRVikdBTvjOfloNunLQXkiyldpDNWIwIDMSUkHXXpXOliztHCMrBhOAHOzXcoypuIYIPdKAtEhcDYUXLAxwTDDiiRpgBDcPVNGFCUuShVueHtoTMkvrITHpUdYtOkHjAUwAtjdqnluvCcnpCgRzTCagVJIAogwAoBFwmFWrhGIZMhrlDgSEaKOUnTRDBkSFvXcLzLGYOZxkG" (16128 bytes omitted)
2023/02/28 18:00:45 http2: Framer 0xc0000ba000: wrote DATA stream=11 len=16384 data="pNboDSXQOGPDhxXuZeNAEYyrCLImtVwWqLuZYADjzzRyuVifTAUUmbVOhERipzUNFRQcTBRPPlakVVmNLhABGNFaefQIyaojsYcMDCPkFZLLptfTfdddPbUKNWBlvvVqkLfbITdFYinyWKOCzDKSlbSavthFxXsmaXHwEbRuRBEVmbiLCZKjbjKpQpbTGRUZEDOjlZiMdDDZEgWrFwRjcXIZgDQNWIFcmrgSdLuJeOcPQomUoikAILcrWpRRJaTH" (16128 bytes omitted)
2023/02/28 18:00:45 http2: Framer 0xc0000ba000: wrote DATA stream=11 len=16384 data="nzQxAVeuRJWdVagFguRwlCxfUZTDNqBklxfZQbwMADYQnNZWbuZbdSmiSqAAUaNbwgLFnKzPlYHsBMwAHWNerHCTogyphJVPCUOzjzsNAMiehUgsZmutQefMqhwxYWxMovGgXlMblyiPIEtDtLGXYcPvympznWrLjkbWKFlDTwvRrCNLlRpvtafqNauZicFTSKrsoQNREkIkRvUjjzLXlMOpLeaXOdpXijZiaxYCnWTHCpsWwhxMqymzRpDrPXOR" (16128 bytes omitted)
2023/02/28 18:00:45 http2: Framer 0xc0000ba000: wrote DATA stream=11 len=16384 data="QwrHxgmsqRZQhAFAOXkBYZKgtwbSxsmKoGsbQLAnlqXumeqkxrGZdmuuGJQWRHZmuURztDDxYMTTxKHuHEhfMTShHRUBMOIEOfBxJTEihQjZQRBnQltYRkVtUfuBLSEfiUdsJSTmGFblcjjJMtzTPNeaQPUERbpQkShXRxTZCVzNZlQbBrJeeUBenGPePODbfdGMegJvynkKmESHzTSSgHOAXFoEVVIPsZNJkvcLQZDtkeyGBcPPUvBEisOZxssP" (16128 bytes omitted)
2023/02/28 18:00:45 http2: Framer 0xc0000ba000: wrote DATA stream=11 len=16384 data="AVsAGSHiSZUuctLVIzwXEJOcdzrAfRZNArMPmTdiTsFikATbEkDVRENTTAqkgBOnUkftEyqdZciVPxJLMoxuAijYnSJEslROQNCzXBksbqYLuOMLsqeKeLVDVwBsxPWucQIDvjqAhEMwsFyaZxbwIVcgUYtFtlLjGTxBriTYehwlNyzmYTdKRyKoqdcxFwsSIEfiDMumMnTeCMfLKieKFZjeCVHvQXvARDbUpXOISyrAGLkLMyocfZpMooXuEADA" (16128 bytes omitted)
2023/02/28 18:00:45 http2: Framer 0xc0000ba000: wrote DATA stream=11 len=16384 data="ZqPcJObPAxaJhKfdIAGtqujlarNjEdgxyzKXYnaSMakZaiglILPGWmOcpmKGRqsgrjtpXaAGUjABfuMGeqqecSEDWgNxPaWaPDwoOOMAfAZrgduMWpVKLMKizglbBHLXxqRZvSZnXQjrXEkJfwJmiXBEJJnmkZSOZezElTVNAQcLxwbkIffIyTviYqdmJOYTrnNHAyRtevOfKjZQAnSCwtLAVmXOHHzHraJcFIzhwoeRSHyMJgnWlnBwQRqyGUmW" (16128 bytes omitted)
2023/02/28 18:00:45 http2: Framer 0xc0000ba000: wrote DATA stream=11 len=16384 data="OrZHAPHwEotwZjHrinEnGNbkFKnahkKKQuAGoCCaAUNNWJPDbGsHsgFLgMlVniFoNZMNniRDRDybBDkVCazyRJWynDAvJBEHCbaBSmbndbyssfyGFbHNJFbskDzkDoCvomYIjvKBfxmxShuQagAmaucUSNXoDlRgncQbRVuUhEeydZbiKOKdqHvrKBmziXKyeDHmYiuhOturUhOcoiZdLRzsYpadXFPyZxQpQVdGxZnjuclQfYtYvYGZuawLaHsd" (16128 bytes omitted)
2023/02/28 18:00:45 http2: Framer 0xc0000ba000: wrote DATA stream=11 len=16384 data="usMeYRzsFTlxlOcPLcKitcKURZZDidbgdtuCJHLXQHhrYYSmPupoElXGPfhsCjcqubEaZoKufuKnPHQrUehhooFOWsSxzhUlbJfpbFtwaUWCdzLNINOjyjpsrMoGoyakHnfEwJtHPpOCrGKwInhqgKrpNFGnnJwnluOrlNNTzUNgWfVTgsbHEUdXVdhdyDnqpNEwosoWUchBhYyhEjApqnMnblWZktsNHfkcCeKjbnyqaIwODsfbpKaLTxiQWENE" (16128 bytes omitted)
2023/02/28 18:00:45 http2: Framer 0xc0000ba000: wrote DATA stream=11 len=16384 data="pXzUblSPYqiUrMlMtzTiRcSxLzSZUTVFrrzCGpoCkWesZLFDCSQRarPEFpLsAAjQZeVAoXtigFpKWgeIzNzMJSGBTrFqDzsIXTYGEYaqpTVdcDYwNFqucryHhsFqjvIKzRevpFxRDKVnqXocjKZGJTujXPiElEsgwKrXCivfWKtrnFzOjFRiktToDMcxTIGKRDOXBtcCIZCjynbFrzMWMPcdIvUaPNmygmJGozwoVVrirHKWNvkuQlydVIwkgMOF" (16128 bytes omitted)
2023/02/28 18:00:45 http2: Framer 0xc0000ba000: wrote DATA stream=11 len=16384 data="CDrIDFvrPkFsTifYJOxdKlBoQKGUZBkntslhfHkoCNikTXayzzgmRfsOXFcyxwKYrcoUDcAHUteyEzVIUthgdbYatJGFVARzBEfGevfxNusYSWcVTnzawTZGeWRMXvaklCeoQOgabfiHERotQGyXgSGHFeYysdRcxnwPGMurxsNpwwOCzeCwAlReevwWYMbzEachDTnvVYUXRYEWzZBzkTChpPtFRWbLGCCrtoShqQAHmPRoWiiJmnwFuIgHALlb" (16128 bytes omitted)
2023/02/28 18:00:45 http2: Framer 0xc0000ba000: wrote DATA stream=11 len=16384 data="gqMhXdAWoBsRGiHbQZIvZusYUxoxJwIgZQcfNzGwEhsOcjohBlieifrgyiHCjqPRREHtenmRNuZDoKqraQTHjdCqgkIKiiPHVvUeGYwNHbxWtxMSRreSekkjwNXRmaObNovtLriuifKmqaqSzGfITBvNEPjSqvamPMclyQfQZGRuFPLbpvvoMeZtsZPmvqDrWKbpsHYeMtjjxhggEaTbaDadEvHQzdlkrCMSghlMdevHqkKXKKZrfrdsdhUkQUbS" (16128 bytes omitted)
2023/02/28 18:00:45 http2: Framer 0xc0000ba000: wrote DATA stream=11 len=16384 data="vzcmFPnppNqZVPhGphLiMAYmAUKrzqODufqTTUGIqVkbnqqIsumgToGJAEdWPpobYeJcOqtDfKxuSWvDMajeWStAOtLRVgXSPCiErrmRVwgUAFbpFqlPeZSDHxnSdPJkpInrpzQawaklSJTgutIZXBYYVdyaOAbfMWTuKTlZKxwAIkCuybYwTZteCIkheyDluHPwQzJVKZmOmMuoUabXsbPBAVOhmzvTbpYuUPhnuniVCyBvAhBwaTecaCbjxyZB" (16128 bytes omitted)
2023/02/28 18:00:45 http2: Framer 0xc0000ba000: wrote DATA stream=11 len=16384 data="VmmNmihcmeMZdgvrpmqtXxHreLGClgRgeRTlVijgIrWBNvJCMvYicpEplqQmEXohhymTkqzsvvHsPFIzlqGUSeQvvSSYUSIntLjVAEswxgjFCsDtBpzjnxYXmcMjNqdJFgxqIsnAmLUwaWqUGTdaFOCJETZJCyVlBdjWyStPgpxUGBRxpirvkptymHliPCFthwsNEFdwkiiCKNejMxSMZilNjZMVTubPzdmZooHycYyLXnEGWrfArkcTtRueyIQM" (16128 bytes omitted)
2023/02/28 18:00:45 http2: Framer 0xc0000ba000: wrote DATA stream=11 len=16384 data="BkOMEYjzQtLAFcQKDLgQisBMruCryeRuEWMIETPVSiZUazdYwKlmBZxqpOXXUIZgElOTXoPFvohCrmzvrUKcMKTbVceiAzwjHPqKHeXDOIHkKoyZZZRsuZRlqJHOstHAjzsahxojWYGOdzKzbkAqdvYzRTCVJoSXhCUqVryQrbgyDOxAwYgJgKEowhDwDYVqGZnGaLsFrFBlAXxkyOBwQoKpmeDjiJnhfoforeGaMVWoftZrtcbiLYlhQPZTfFmP" (16128 bytes omitted)
2023/02/28 18:00:45 http2: Framer 0xc0000ba000: wrote DATA stream=11 len=16384 data="wiquFbhBsjdsewdTOXPkVajpYqQhEjwqBbrJuNUBxcBiSUOLIqiCdMRKzXGjKsmJpnDhTaekfuDfoCdZwQRbeJoScvEURHQsfSlFTetZqpRZotrkqLYDYgHXDqxqpFoUpRArgyQdepxhNkJMlvGuwTfabDfUpdwtqalosjJmYvLEmbuzewxAgQSDvqeawjBsqvSDUZVpkbxtecPOfdZeSfoUONjXBWCJUyNwSktpbofhVNrOQCrOOrpAlfPFmDeS" (16128 bytes omitted)
2023/02/28 18:00:45 http2: Framer 0xc0000ba000: wrote DATA stream=11 len=16384 data="EgkqqbGRgqNfdCxDXeXPBqhqEmEgDsgwaLMwBsvDJkFbvNqHzTqquyPYBVOcDUTmWKlrPaxCxpThrpoZgqoPLXFUTGPivJqWleetrSYXFAKFraQYpbweSjPhlYrYHvrtevSxHWBNgLqFmwmgAqOXdqZZavrNdFqaFbZxEWnzsCfpSpdNiwNRurvxVtJeomWAQLPTyJNzGJsRcnPslGBrpXDGKQmZsCiKDROHUJdEsxjITDzZqtPCHUorlvzyUTrf" (16128 bytes omitted)
2023/02/28 18:00:45 http2: Framer 0xc0000ba000: wrote DATA stream=11 len=16384 data="WMclJhcNggsmHhXsTkEHTYgDFNLzPgyqeKeucguHLTZlmpHzlluzodgbNkufJRgOCvfKcCEriddIWDbAULaaYBMlslsSYzPOWzdnOwHLPHEOrPXUZVXquUeswqMzCWghAYniEzphRHcmYbxfkGEuOgLzSMDCcVLmfdhsTgaJKSDQjuKLCkSOqXxdPJqjCsEvzkbJtXgSaIQAROrphtaKeqDOecySrfYFFBYaaDBvTRogEzfKbrbYXsRALZPQGzBm" (16128 bytes omitted)
2023/02/28 18:00:45 http2: Framer 0xc0000ba000: wrote DATA stream=11 len=16384 data="xyduHWzLNjQdmmjAjlKscCfQQdMKuATCIABhMmffQTqaRAvIPIOsslvXrDgmQwTuhLYkCZlmleuHneQLiXjlFtvIKJQhQcxJVzRDcdDnkIzbCUgQmytmQsQcDPtpLjtvsYgeKQaeJvIvIYQChaJNnGVsYaaEtdqmlchABdkPjUJIFchtGMLRGUiSupegdSJMsMAEHxXTZXoNjRJQuqklXRgiWZcmcDfAweJvHQMIaySpbWmlRJEhxJcNGMciHjMF" (16128 bytes omitted)
2023/02/28 18:00:45 http2: Framer 0xc0000ba000: wrote DATA stream=11 len=16384 data="NGghjSiGdEDyLnEFuqqHxyDDqaJLLRjnXhfepnUTrVxcVmzPznYWrWOFkPBCnOQSNmGKnosbUKpCkVdwEbCGbmJHOrgtQGquynnTdYeVbxFrxKxTwnZshxtAlwnrsTNCzBKHMPSXcoaLIcmvOVbaQoHspRXRAqmjwKvYGnpDXtPxADCPFdnHxPsnPQbNcHoarLRKWwjHeEIlTlbJbKhQOQDFjiqulnRiBTkDSRKcSkOARibwilbxRGSpJFmZnzYO" (16128 bytes omitted)
2023/02/28 18:00:45 http2: Framer 0xc0000ba000: wrote DATA stream=11 len=16384 data="rekntUpZXPxsXKQBwWvPPLgBAhaBbeWDnLvBjQPXtcTjGPKSvVrNdffkSTHPPFPeGpityzEGAhFtgSLRgSRCDnfVokHfzNogdaqZWypylYFwSRQIXFIAtqyegSRoguPbKHnkSQHTxJReebyNyCuXzrbgQeICemjEIXYJKbVfugRdkXxLrsXgfVIdOCIEwSEyntODoLXBEihjwfntdNBkqTtxAVqHQYIDEnJoUQuzbbsYgSKaasSoGAiFgmFFPjec" (16128 bytes omitted)
2023/02/28 18:00:45 http2: Framer 0xc0000ba000: wrote DATA stream=11 len=16384 data="HXyjDoFzGuboNKCKiJZRSwZoyUYdzgVTxwjpCWjttnMstZREhgIAmmoATzlTamIazwHhUyyOTbQcwXMmqSqZvtRBPzUBxYCYciHOAKvqrMKZflexFRYlZovTQMNywoQRFmPPLfjzPEoMCljTJhWiAcgMzhxJeIKViyEoAtcivNrdTZTwRSjLFDrsmaYXCLIEdSzxxBbiGUEAwbNFCrkOGyMxAwYaaOSdsdumuEdaOiMGCUbYnqgxuStEgvDMcMXH" (16128 bytes omitted)
2023/02/28 18:00:45 http2: Framer 0xc0000ba000: wrote DATA stream=11 len=16384 data="oOAjorJdUxOnsNxzDLehTpzsfFiSqjiZOloxhAcNSjSdUtzaztIHoHgYaXIGwUzeWYUSlpRlLhdfMqsFkkkuwDfBpzjKdFBygMtbKLCjvUZEyUoUhGEzroTFDlXavcaworoLbawKCNeSghGNUJhiDhcnlLiNlUFDAhKrigRIuOWRCJkbXJtYkiOOxmbkfThBuGcwXvNCymTfbrmMRtxWfqDvWfVXarRxLoSnFPkNcIJSSWPhjavpQJMSvTeDXglB" (16128 bytes omitted)
2023/02/28 18:00:45 http2: Framer 0xc0000ba000: wrote DATA stream=11 len=16384 data="vEkfhDLVTjbgQNQhxJmxlGuGuQYMmYjLypsuShFwGatkQWtmdiJnOUUBxPvmlJnWKTxoBkPqzRTbQNvvojzYShNaJiSfjPhMaRbbOkgtyMtWGnrawzjpovItveYmnQwjJjMdjQgyrnSGpJetVhCeLDKpVONmHkhMoXKIByOMWEBIJEgNeXTpDdUVozqQkEQlSAfKoVWvWIanLGRdSVwJIwyGIJbdxNXHPPjQHLZofWIRSDqxqkqelRuSFglIHSyH" (16128 bytes omitted)
2023/02/28 18:00:45 http2: Framer 0xc0000ba000: wrote DATA stream=11 len=16384 data="aPHmxeXLQKpfsCwuVRnKpMARAejSVPqoIDYXBKSgHhPpufwuAFwLixfTZFdfZBUEGipupyKPOxmTbakBydmyKdDysVpQVhAfMpwPOqAeoqOhyUkfmaKapcSakVsMvXocPEelhCMeWFiSsrqsraoPUJUVYGcQXwIqhyNnnJppvgBuAQrMBfoaCZyFRYEgRxeYUteCgfavqfiUsIOTztRtppxphMmBTSvXYhTZgJqLyovFftHeawkrNQuWnSjJUctV" (16128 bytes omitted)
2023/02/28 18:00:45 http2: Framer 0xc0000ba000: wrote DATA stream=11 len=7431 data="JKVsOMqOwydkAmFWsxuLsqOzvDkZMJogSnOSMfLZaZuMResXALUYWCFibinJMXgjgCQAiwVYjfcdpzmiNXwpbAkSZhNyyOSlDjrMkEwsDPxokVrgiSzjKopwxmBaSuWynfZHsvnzPvlDsRkWvpDxYUCfHZQYcEWLhgbzYAlpwnTkMXIPQfqjQkRDGYFtjwHMxLzTvYjejyQIwmoGHZPVThAirqapAonMQPJviOYYarxEAoCtSJmwaxmrGJBVUmcZ" (7175 bytes omitted)
2023/02/28 18:00:45 http2: Framer 0xc0000ba000: wrote HEADERS flags=END_STREAM|END_HEADERS stream=11 len=2
2023/02/28 18:00:45 INFO: [transport] transport: loopyWriter exited. Closing connection. Err: finished processing active streams while in draining mode
2023/02/28 18:00:45 http2: Framer 0xc0000ba000: read PING flags=ACK len=8 ping="\x02\x04\x10\x10\t\x0e\a\a"
2023/02/28 18:00:45 INFO: [transport] transport: closing: read tcp 127.0.0.1:50052->127.0.0.1:51643: use of closed network connection
2023/02/28 18:00:45 INFO: [transport] transport: error closing conn during Close: close tcp 127.0.0.1:50052->127.0.0.1:51643: use of closed network connection

client log

2023/02/28 18:00:45 http2: Framer 0xc0000a0000: wrote HEADERS flags=END_HEADERS stream=11 len=7
2023/02/28 18:00:45 http2: Framer 0xc0000a0000: wrote DATA flags=END_STREAM stream=11 len=21 data="\x00\x00\x00\x00\x10\n\x0ekeepalive demo"
2023/02/28 18:00:45 http2: Framer 0xc0000a0000: read GOAWAY len=8 LastStreamID=2147483647 ErrCode=NO_ERROR Debug=""
2023/02/28 18:00:45 INFO: [core] [Channel #1 SubChannel #2] Subchannel Connectivity change to IDLE
2023/02/28 18:00:45 http2: Framer 0xc0000a0000: read PING len=8 ping="\x01\x06\x01\b\x00\x03\x03\t"
2023/02/28 18:00:45 INFO: [core] pickfirstBalancer: UpdateSubConnState: 0xc000128888, {IDLE <nil>}
2023/02/28 18:00:45 INFO: [core] [Channel #1] Channel Connectivity change to IDLE
2023/02/28 18:00:45 http2: Framer 0xc0000a0000: wrote PING flags=ACK len=8 ping="\x01\x06\x01\b\x00\x03\x03\t"
2023/02/28 18:00:45 http2: Framer 0xc0000a0000: read WINDOW_UPDATE len=4 (conn) incr=21
2023/02/28 18:00:45 http2: Framer 0xc0000a0000: read PING len=8 ping="\x02\x04\x10\x10\t\x0e\a\a"
2023/02/28 18:00:45 http2: Framer 0xc0000a0000: wrote PING flags=ACK len=8 ping="\x02\x04\x10\x10\t\x0e\a\a"
2023/02/28 18:00:45 http2: Framer 0xc0000a0000: read GOAWAY len=8 LastStreamID=11 ErrCode=NO_ERROR Debug=""
2023/02/28 18:00:45 http2: Framer 0xc0000a0000: read HEADERS flags=END_HEADERS stream=11 len=2
2023/02/28 18:00:45 http2: decoded hpack field header field ":status" = "200"
2023/02/28 18:00:45 http2: decoded hpack field header field "content-type" = "application/grpc"
2023/02/28 18:00:45 http2: Framer 0xc0000a0000: read DATA stream=11 len=16384 data="\x00\x00\t\x9d\x02\n\xfe\xb9&keepalive demorgquwwbmljYXOtQrGGpfzVppkVYwaaQgexCAJciYlGUGGiSRADkQLdpBHuKIUvrCfdyeDbsFJxHUjookyPPeAteMLrKnElsWBQFQMabxscjHqAudVLevCoUmpnjxUeaHizazziJxUfXgEfHPkZdtCPwthnTYfupAgSetMYaihZVvGcflHvkxNMGUswNunyNDxuQubtZjNvssZCtfMUZEFrDlYgvVGvIwmOxSZCfcl" (16128 bytes omitted)
2023/02/28 18:00:45 http2: Framer 0xc0000a0000: wrote WINDOW_UPDATE len=4 (conn) incr=105735
2023/02/28 18:00:45 http2: Framer 0xc0000a0000: read DATA stream=11 len=16384 data="LSSlFdwRxrKxKOPzpxvgfimPPpoNinQrlxnHTXsHEiJvgDXFtMooEymQCXeMynxJEFCpxFbLrfJlCkHHMkdxrIUnGkjoDYGlcbaDOuJyXvVuCbLmBlIudZXYiFSAsZNYMjXpIWZPjRUdUKxnMRCcBcRltDVzcWlXMnbssKXmaDFwkriDkuahdLrIkUjMsifPddPFGOqiIxfajhRMSmmFAXlwkiHmDplGTnJSdeGWGNyWAFavJqSeLdkxjdbTUeqF" (16128 bytes omitted)
2023/02/28 18:00:45 http2: Framer 0xc0000a0000: wrote PING len=8 ping="\x02\x04\x10\x10\t\x0e\a\a"
2023/02/28 18:00:45 http2: Framer 0xc0000a0000: read DATA stream=11 len=16384 data="gulHwnkWhauYBEGmSWEaMTwtwTxzSDrsgJitFhEShcXrXBOEWBzHjGgIoTzsGUhbUTQYHnzFkoPJKzpaTnbmjFLKtxMKhFkbhqQvSgYCsBhuuWhOhATlrDcoNgtobrBGfCzYjllZYWjaDjNHcfDaIYvKdzNhXrScNfNBsbfJPvlzQjlbGfJICOjFbypLsfNLdhRodoUoNmBYjjGoOLZinYBHdwnJQDISQoaZyxWPKwdtRUmFZncCZfvCmvfWoNou" (16128 bytes omitted)
2023/02/28 18:00:45 http2: Framer 0xc0000a0000: read DATA stream=11 len=16384 data="ARJbMSxJBRRBsMLwJuzYSrcHVjddlRZCABRzBMCaLIShRwrNurAAxHFcoooaxHlhwAXEXaqWaSAfdlWucZhLmCTTXtYaaTIETBWvSzDzkLNnLejJQginzhiccYmzbFpTqpyeJQkajhOTMAfxKrflZFYaenMgcipYdgCPZMVamiFGIrSHLctWqofITbNnCNsEniCkXLoChyMCfqDqqJONpJCsYCNhDGBsWsVzkyxhNdzxqgzbTBLKIMgfQosoNeFV" (16128 bytes omitted)
2023/02/28 18:00:45 http2: Framer 0xc0000a0000: read DATA stream=11 len=16384 data="mONRtDegAYATaeKxcgBJNwTQInikaZBrGOTHgphxVyQBDxKVSZAmRcBKXKRJKsOzQjYAwOnMPrDOdeNZrkarhYYeiKuONYLPRZglTsdGiPoneWnMqobMskysTkySvVGIoUfBNoHxjgXRpnyIKgCvQxadXhjVJtxnMFJVUOADlxJaLFhYwbstoqjdpKtxjmrnNtdEFZqBVoXNaYWGoeAvRHkMqarIvZjZNDMNbdBYgIIoFdsGdgsduQpWpidqGetl" (16128 bytes omitted)
2023/02/28 18:00:45 http2: Framer 0xc0000a0000: read DATA stream=11 len=16384 data="ypePALvXSieVIrJsgoWOfsAxJlByZTQmMumPIjetSUDqBPlbnrqPjNMgaJYppUIwtuzXhocHCxdtZrOFKKeZXMfQadEVadBseDYiJKSRlaKSHKUtcTVzibGPOjlZjFLvOdxCezbsiZcLtdBTdrwRrMNBhOcFyFHmiEHOCXFUVdqkjoyewdOuzaRqFVZKZGOslzuROFASebiKoaOIWqqcBwbJpgbBcVUJahlsNiEQNFfUuYbiMoGLqocvSCUtwzSg" (16128 bytes omitted)
2023/02/28 18:00:45 http2: Framer 0xc0000a0000: read DATA stream=11 len=16384 data="ymRYlruZeWuaWcBOGUOfFZDqsZERuiqlZniUVDqrdexnymqxJWQPDYIsbVRkeiPisjuPpqlTyAGKhKuaetxErLoeIsNGEoCqjSVVOFCExpoziZQaKutcvpfxnztbvnMtbcMcBCrfMOPaDsMPbYGUdunfMQRMEuRPjXoWRcCdMGAjeiYobnedrVDuqRoLHUjjxQYbsIsIjsRNtvhFBmyKysjnkCVXkJWhGqQkDchKPXkeBXKfBgTTHluZaNQZUXIX" (16128 bytes omitted)
2023/02/28 18:00:45 http2: Framer 0xc0000a0000: read DATA stream=11 len=16384 data="yQpnSHrOtrzWBYyvtknuRrsPCrrCqqrzbkoSHgPiGCCYUtvQraFWBGaJYgretivouHtcgdVyEncOBGyHlKeivemkXSpREjFeczlfxWBUyHlmQGZWESVuFQjIdFwkxBanQLvMthffohUmxrnORzPyMFTvQVmnexJaTqqYesJASzurLnQneaGJTvbSVOWSziLIcFqJmHzIsXywTiBzacszzwicxkezdcQXsNfUHVtZlROxtVUAmKmTgAUlQxmNWllJ" (16128 bytes omitted)
2023/02/28 18:00:45 http2: Framer 0xc0000a0000: read DATA stream=11 len=16384 data="RoVIkDYGsggwRjBIKhScxLkaQVkoFqGLQccADiUAUigrCLWVbYmpPuPsbSERiFPnLdpnDTZHbjPTWZRlzKrrGFoCzGJvzIhrgSjFSyAPpcSNhHyUjahWtZvWGwkcFUrDTVXKhjfAuhBXCQdvyIvoVKRNFvechuzBZhhtpsMMSwqggxduengnpTkPTPezeHgykDojHKyFPrGRfRHDueIvcFxHFyEuuPXBYJVjBvImbRKihJgYoooZuBsVIJfuqPPB" (16128 bytes omitted)
2023/02/28 18:00:45 http2: Framer 0xc0000a0000: read DATA stream=11 len=16384 data="ByhTjcMPvKehoTolierxgvxwEikXQMPiexLHzpXVxOvMuuHdnmusmyzILUDYAyCXUbMbUFfdYTnechwRzcEqKBGxfbRulgscpkZAtuYvUtWTYyYzvokpWNbkAnWZacBFlJQWvFHrsuAjDOGPhKrSJTkCRhZRvntyrksoZlQyXUuMyLAAcqDQnjyGgkBhQqhoNzykmyMbrSPiKFqoDfpNODVsJZkpQFXYTmzaWziGeLaGRLIcItLiauXdMfDeAACq" (16128 bytes omitted)
2023/02/28 18:00:45 http2: Framer 0xc0000a0000: read DATA stream=11 len=16384 data="EXBIAyFDzCOosppvaxhJAqlKculDLMslbxOSaYRpwdjmvSSZZCCJIdIIvjFzlPHpHcTgyWPSSxaLIIETbcIkACwpTAYEyrkOZTuoPCBjzDYYnbghapucQhNfIIZJWAfMjWiMdYNWtksrfilkGJgVedLBNSXOymYGjTsPvHlNhmiUoioDjYeNMmlfOBTmHFkyMwlVVIUyGJXZDUkpyrKCLinmzfQJyQQfywJjWHtNqlGkHdWLZtJeqjprcswpVTtR" (16128 bytes omitted)
2023/02/28 18:00:45 http2: Framer 0xc0000a0000: read DATA stream=11 len=16384 data="JnhpVbICnbpcIldZATzsozKWaBkSFLYjvGnqdFuJtDKQhFbxcUmroJGRKQsYSfMyxhReikFwERwCjOgfVhxIxtEDRWsSeVnXsrpqOkismODopeqShObxBIBfomIXZNcrXZzlzUSeutsFmeUZyfNGeDPhHuSiGqpFzlxmVPGUepEemHRjuIjKJRpYiEehVpqSKZXsSjbDmssAJuAOdEZTVhlkZRatpolkMWVBFrgNAjzogREdJBqWEmeSAZpApoEx" (16128 bytes omitted)
2023/02/28 18:00:45 http2: Framer 0xc0000a0000: read DATA stream=11 len=16384 data="hbFIWgRabGvXLuKzfShWBbYYEbDeGXEbQSLxnmIuwuogbbXRPflhtjabRIknxPVVHNCGQvevrKnRmbRYEPsYmaTenKPqgZVvJawQokYmjjOVOMXfkiZixphiislzFvxcfEGzpzuLHAnJztHGlvDWGbGRxjUWrfoSdDUEsoqxOqzsDbcAfWpbVEBoxlslJXgrEXcYCFCeOrtFTGwONPVXbTqTXciVhHBysqaeYKTBQHumUztmYNMbLDFZtBkmZLXF" (16128 bytes omitted)
2023/02/28 18:00:45 http2: Framer 0xc0000a0000: read DATA stream=11 len=16384 data="pLeWshKkvTsKJhqKFjyaVBYtigLOSkPeNgXNCJHNQOqhnuBOfwCsgYBXtsOCKWpdjMkUdkcBnJwmvjZsLXKuYQNNTzSJySJOSsAjRAFZHQmcxzbbWZvusJzbHMbfTqgGbXUIRtAULJLYUDIekVyKXSMraoUiKZZWmepUGDHWtMAVnjfxHcZcBQuSUSyEFiWkdyvCJcplHkXqjaubHaPosalCEBFzsRhnSpfIeUcAzrEANfYczcefcthahhXBBFnK" (16128 bytes omitted)
2023/02/28 18:00:45 http2: Framer 0xc0000a0000: read DATA stream=11 len=16384 data="UxpViFxDMEezyYGJmoHgAEPeurULkrFGVJzjKRAboYJAjTxwBsyuwRVikdBTvjOfloNunLQXkiyldpDNWIwIDMSUkHXXpXOliztHCMrBhOAHOzXcoypuIYIPdKAtEhcDYUXLAxwTDDiiRpgBDcPVNGFCUuShVueHtoTMkvrITHpUdYtOkHjAUwAtjdqnluvCcnpCgRzTCagVJIAogwAoBFwmFWrhGIZMhrlDgSEaKOUnTRDBkSFvXcLzLGYOZxkG" (16128 bytes omitted)
2023/02/28 18:00:45 http2: Framer 0xc0000a0000: read DATA stream=11 len=16384 data="pNboDSXQOGPDhxXuZeNAEYyrCLImtVwWqLuZYADjzzRyuVifTAUUmbVOhERipzUNFRQcTBRPPlakVVmNLhABGNFaefQIyaojsYcMDCPkFZLLptfTfdddPbUKNWBlvvVqkLfbITdFYinyWKOCzDKSlbSavthFxXsmaXHwEbRuRBEVmbiLCZKjbjKpQpbTGRUZEDOjlZiMdDDZEgWrFwRjcXIZgDQNWIFcmrgSdLuJeOcPQomUoikAILcrWpRRJaTH" (16128 bytes omitted)
2023/02/28 18:00:45 http2: Framer 0xc0000a0000: wrote WINDOW_UPDATE stream=11 len=4 incr=262144
2023/02/28 18:00:45 http2: Framer 0xc0000a0000: read DATA stream=11 len=16384 data="nzQxAVeuRJWdVagFguRwlCxfUZTDNqBklxfZQbwMADYQnNZWbuZbdSmiSqAAUaNbwgLFnKzPlYHsBMwAHWNerHCTogyphJVPCUOzjzsNAMiehUgsZmutQefMqhwxYWxMovGgXlMblyiPIEtDtLGXYcPvympznWrLjkbWKFlDTwvRrCNLlRpvtafqNauZicFTSKrsoQNREkIkRvUjjzLXlMOpLeaXOdpXijZiaxYCnWTHCpsWwhxMqymzRpDrPXOR" (16128 bytes omitted)
2023/02/28 18:00:45 http2: Framer 0xc0000a0000: wrote WINDOW_UPDATE len=4 (conn) incr=262144
2023/02/28 18:00:45 INFO: [transport] transport: loopyWriter exited. Closing connection. Err: write tcp4 127.0.0.1:51643->127.0.0.1:50052: write: broken pipe
2023/02/28 18:00:45 INFO: [transport] transport: closing: connection error: desc = "error reading from server: read tcp4 127.0.0.1:51643->127.0.0.1:50052: use of closed network connection"
2023/02/28 18:00:45 unexpected error from UnaryEcho: rpc error: code = Unavailable desc = closing transport due to: connection error: desc = "error reading from server: read tcp4 127.0.0.1:51643->127.0.0.1:50052: use of closed network connection", received prior goaway: code: NO_ERROR

packets

...

18:00:45.508233 IP localhost.51643 > localhost.50052: Flags [.], ack 3757702, win 1255, options [nop,nop,TS val 2216782230 ecr 3720025606], length 0
18:00:45.508235 IP localhost.50052 > localhost.51643: Flags [P.], seq 3766714:3766726, ack 2394, win 6342, options [nop,nop,TS val 3720025606 ecr 2216782230], length 12
18:00:45.508239 IP localhost.50052 > localhost.51643: Flags [P.], seq 3766726:3775726, ack 2394, win 6342, options [nop,nop,TS val 3720025606 ecr 2216782230], length 9000
18:00:45.508247 IP localhost.50052 > localhost.51643: Flags [P.], seq 3775726:3775738, ack 2394, win 6342, options [nop,nop,TS val 3720025606 ecr 2216782230], length 12
18:00:45.508252 IP localhost.50052 > localhost.51643: Flags [P.], seq 3775738:3781524, ack 2394, win 6342, options [nop,nop,TS val 3720025606 ecr 2216782230], length 5786
18:00:45.508255 IP localhost.51643 > localhost.50052: Flags [.], ack 3775726, win 973, options [nop,nop,TS val 2216782230 ecr 3720025606], length 0
18:00:45.508274 IP localhost.50052 > localhost.51643: Flags [P.], seq 3781524:3781536, ack 2394, win 6342, options [nop,nop,TS val 3720025606 ecr 2216782230], length 12
18:00:45.508284 IP localhost.50052 > localhost.51643: Flags [P.], seq 3781536:3788987, ack 2394, win 6342, options [nop,nop,TS val 3720025606 ecr 2216782230], length 7451
18:00:45.508295 IP localhost.51643 > localhost.50052: Flags [.], ack 3788987, win 766, options [nop,nop,TS val 2216782230 ecr 3720025606], length 0
18:00:45.508301 IP localhost.50052 > localhost.51643: Flags [R.], seq 3788987, ack 2394, win 6342, length 0

case 2 (closed the connection at the 2nd GOAWAY)

server log

2023/02/28 18:21:03 http2: Framer 0xc0001381c0: wrote GOAWAY len=8 LastStreamID=2147483647 ErrCode=NO_ERROR Debug=""
2023/02/28 18:21:03 http2: Framer 0xc0001381c0: wrote PING len=8 ping="\x01\x06\x01\b\x00\x03\x03\t"
2023/02/28 18:21:04 http2: Framer 0xc0001381c0: read HEADERS flags=END_HEADERS stream=15 len=7
2023/02/28 18:21:04 http2: decoded hpack field header field ":method" = "POST"
2023/02/28 18:21:04 http2: decoded hpack field header field ":scheme" = "http"
2023/02/28 18:21:04 http2: decoded hpack field header field ":path" = "/grpc.examples.echo.Echo/UnaryEcho"
2023/02/28 18:21:04 http2: decoded hpack field header field ":authority" = "localhost:50052"
2023/02/28 18:21:04 http2: decoded hpack field header field "content-type" = "application/grpc"
2023/02/28 18:21:04 http2: decoded hpack field header field "user-agent" = "grpc-go/1.54.0-dev"
2023/02/28 18:21:04 http2: decoded hpack field header field "te" = "trailers"
2023/02/28 18:21:04 http2: Framer 0xc0001381c0: read DATA flags=END_STREAM stream=15 len=21 data="\x00\x00\x00\x00\x10\n\x0ekeepalive demo"
2023/02/28 18:21:04 http2: Framer 0xc0001381c0: wrote WINDOW_UPDATE len=4 (conn) incr=21
2023/02/28 18:21:04 http2: Framer 0xc0001381c0: wrote PING len=8 ping="\x02\x04\x10\x10\t\x0e\a\a"
2023/02/28 18:21:04 http2: Framer 0xc0001381c0: wrote HEADERS flags=END_HEADERS stream=15 len=2
2023/02/28 18:21:04 http2: Framer 0xc0001381c0: wrote DATA stream=15 len=16384 data="\x00\x00\t\x9d\x02\n\xfe\xb9&keepalive demoPYnLZVlLxoGurGIhiFADnXgUacNsetEOwqePnZntzUBCsXkWiDGgjuIXCJTIUbopgstRjkDucGGrfCotnwGFsXJofthNLLEWbROueaRihGlLsIfBuppMuJAYNoJpswEXKEvouPdFtHhqAxgtQnZZyXJJbCukTtHslDrpGAFsRaGQRVxfInjJvejRHNInWujmNOsDveKgJKHjFkUAGOdegDJGHChscmvbezdPvYFRb" (16128 bytes omitted)
2023/02/28 18:21:04 http2: Framer 0xc0001381c0: wrote DATA stream=15 len=16384 data="QzBjzkvWhJNGfqSmCsaMvMEiolBPigPIDXkHMnKmpCzHqbMtiEnoGlPUUSdqqmUtuiuKQPpdcPvfrkjvAGsQodtOByUtcQUVxugNdHeNUvhlGgQckISRegpvHbkcIWoSkQPiojRxwpCuafarCENDuKkwFKjMTbCklecWCaqfXdrFykoCfEsfLKOQVEBgKNkXigSHOyTDXSwTWUJRmWXguthYjxIcIAPEEqPpjEHTzSqSwDJZDAMOzcPKCpcTPYfi" (16128 bytes omitted)
2023/02/28 18:21:04 http2: Framer 0xc0001381c0: wrote DATA stream=15 len=16384 data="IdIcGwYhNSLTSggbyhcAlwmgouJpdYNkDjQWIVwVMJuQXxCfVjPBOLkhuTYmagsyTSRqBmzIIusLaZkqwQGNYueeOczlFbtwIZhqBikcVuzoXXvndBnVnbHvcpTzkHMKDYNyBgpePzaiGqjxWjanjdZSnZwArIuyOsHfDHtQtZZgjybtaCAwkKzUNhfqhItVugWoEuvbFtneDBIvmgEtNiBLdJeeXQuBccNcUajQoIocGQgvLjUTVZokNNUpaWSc" (16128 bytes omitted)
2023/02/28 18:21:04 http2: Framer 0xc0001381c0: wrote DATA stream=15 len=16384 data="TGzNVVJFmJKxjXSwiiFInCNZAVDLkYlXOYUoZKxOnqQaAavxWcVxbbgHvDylDNjDmKobmHFAaLjEqMZvxsbenROtdqWegbGgSCmbHVQWhJRvfytIQENpbQeingNExYRyaGGmVhVIDZYhYLlThYwKerihIaOfLGKgfyvPAyCBibuOurqaGSRZfaTpPVaHHguvRVjTyDwZxNndyPuyEVpMIcXSAjQVtwqvycLmmGoFvMWsVQVQCOhperSZwYCrnpjL" (16128 bytes omitted)
2023/02/28 18:21:04 http2: Framer 0xc0001381c0: wrote DATA stream=15 len=16384 data="OHIzfPEJIymthYyHaQaTXFvDDBLDqaAbsxDwkIZEvStAtsPZtgJBMaXCXfKusTmAdEgxCCImPqDevzSUinFVrLRQdHBbWkrytgPFAnEZtSxHzqaNgmWPfqjmRRLSnADfSIcveffTzyOokFNKzDDVphSCfqDMeOrqZiJePLDsULYldLmhCsuZmykOPWkXnQHtGaRFnhjmJBIUKlVCDpJsdHafZizPzuWzlswDBZJcJAsKlCTVbMLefqVmDZGNqNRl" (16128 bytes omitted)
2023/02/28 18:21:04 http2: Framer 0xc0001381c0: wrote DATA stream=15 len=16384 data="PuyYWcXNPjxNmmzbWXtDeOBkIXTNIxjyDYIXAHXqUaTHUZEaedSiQWMpVptRaMKRPmBNfKwVduGlqNbMZxuJJxOmJWIodgcysblybEoSBWGIjikqpdxLUbttEQkaULfwvIAqCNFTYbiMzHLpIMpVCyPTMbBrxmGQsiOQRoNmOVScWezgpizYOxHcjsJsadUDtxOiXNOSHTaRdHZcslClCEysNQvyiUoGklNHOZZRvHEKnzyNLrVDbdEwYtKCHDmX" (16128 bytes omitted)
2023/02/28 18:21:04 http2: Framer 0xc0001381c0: wrote DATA stream=15 len=16384 data="SHljeWYZHfEQaaUidFyfQWfAAJvMCmSpkWATBqIZsjFOGfTdNDPRGcibbcPhsDWlSHdnMqWJMMlHCVibngSKZoSkBPeCUbIRUIZSFFoVnGoxTQdRvsYRMuVNsJuWqSHyMWMMIYVyWMFKTQoNRLhuCzsUerUADRvYUZWelBvNqNeZunSBWPJnmUeSfRTLeJVNUTRdbAXibzbaeeZoVKiJCqboFGzALfrLjjiEMZePDJmwmyQuZcfhVZCOrxTSFdzE" (16128 bytes omitted)
2023/02/28 18:21:04 http2: Framer 0xc0001381c0: wrote DATA stream=15 len=16384 data="eHroLjMElOzAhHmYUpmFJGUXpRUvQcpfClYNabWAjAciOaQvLsvXKjjCqrBeuRYBpWIGwZKOfUXIpNUoomoEgwTjWSJRpvcUFirHhveTVBMYUWVFayInwHaErIpQmfPwYfOJEJiRkICbndbhyPUlnRgkATKJMkspnEbLrfWuEmjnOdJvrWxpqhTYnDrxLcasMaZdHuhDPEzIrcsEgkOMnHuVitbibfzQNebqVokdUUrosVCMuiZsfLUJENlOHutN" (16128 bytes omitted)
2023/02/28 18:21:04 http2: Framer 0xc0001381c0: wrote DATA stream=15 len=16384 data="uwBbwnyBOnSPOtGqGYCGFOCVGhCSykBpcOxSoMcXWAyQahTbBieukxuDIASaaJtVihSfDLuZteToUoaNhukQnmcSRuWSzcdcjwsKFeBxcglYlKszcHfvoQnIdfVGmWKTBkImSqKiaaOGdaIzXhgrMbOawLToHMLbBRNozdSVwHvuxLuTHnQAXhrTyeArvdIVNUegGzhzcNhbozFtRsCpSEQulnhvzRPnlyIOHqvNrQWoaAWxnyUylopOXelnHTAH" (16128 bytes omitted)
2023/02/28 18:21:04 http2: Framer 0xc0001381c0: wrote DATA stream=15 len=16384 data="YrROQFVRnWxqvLXCjZBsvxJCdkslKxSldPDXafQPxDWozJCuzChbqEflgQCnjeOvvyOXFCgyyOvearrmOhpluoFVegwVkRdNGmUXNVPydyUTQTviTwUVPaSzuoudEJpKwCclaQGfqfTJaFTznUJJOWdLHmJoXvbcitOvCDzhkCUZamjHXzqJnKwSUiTkohGJJfGaOiSrRkqtEyQwyxryRVWIGeIdQYVwUDtDEJSXOQtiBZkdnmkSPPGwxNtycQgm" (16128 bytes omitted)
2023/02/28 18:21:04 http2: Framer 0xc0001381c0: wrote DATA stream=15 len=16384 data="mzoBYtxzrsBbZbrjxTjTWzpvrZlcfLaQwowuaYfkNZDsbdpMoWozMlEUCDGZzeVEvpWURxKpFIuErXlKVWJnewWPEbRDGRGpEUrYUAuzCFISSNMEYMWkbkFvzECSuUQecAZGXhZLHeGhJRmyeCnJFVhlYvQOVqcFfoaXbnmOqzaLSVUSiZhTNiPYhjmdppOQyaMjhwsVPmelVwtbzXlwkSqmHBICBueTJAuRvKKEudDnfjkyKZvBsdmfDnBSIrWb" (16128 bytes omitted)
2023/02/28 18:21:04 http2: Framer 0xc0001381c0: wrote DATA stream=15 len=16384 data="NKvBlOSmmOcmFRDKZziqSwWtVOPouOibOPCABmIPdeDyVQfzwfdhkkxzDVZVDurhDJTwyhmcAbnybMLYAQCwuNSJomtNiSCavinahvJDaMtxfxFspPCCjzkHGgytozjguCirDIHOXmUsHWvREMNgdHbceEYRovpxGuLMwmLqjKRLiAVRlQMmwGBowIGqvQvKisnWxKAzlBuBOwYNzxdXeMrMXCMaIGbXAKgEzcPevsehjWyxRhpuBSSTZfawxyOG" (16128 bytes omitted)
2023/02/28 18:21:04 http2: Framer 0xc0001381c0: wrote DATA stream=15 len=16384 data="yAZkNaCGDpueNPEgTTzSyDitOlSnTKRaatYRVcxkcooGmMXQfYiVyQiDpntLtQDQldKPcgPjFydnYaeDHgYFEisQMbKzXmqEpuBFxjDRlEjHyzAhcCzdFzDDSqPczbFvDzdJTejLkKUkaBLBtrmyGUsQXFNwHdugCbVhxgpAtVSkLirMOTubvQqpmUPxjAVicJJwSvzIKmtmSdTcmMMfvBDoVPwxRRvlgQcTjksUgNEPNktuDjPXvsgTTTrlxXEc" (16128 bytes omitted)
2023/02/28 18:21:04 http2: Framer 0xc0001381c0: wrote DATA stream=15 len=16384 data="MShDEPtSdSHponmlPrgYsalPRvFMKNjaEMaSTFsqwDjXPFnoFsANjHBexaNlJeWUIowVLvqJOthfFEFxLYeDRvwHJvRZWBqjVAZhlhMNBtypajPgPChFDfGcMRnFwbKKHFXpZeCNMyusFCQSztQxpqwapNYUOcqiVFBDgquFgXbRzTgQATaHeuxocjLeJxPXRBWfzgHGJxirpjcZjYsrdskCnVogutevkMEHDyrdxmisZIsSbOwQxaqoSEiGRCPm" (16128 bytes omitted)
2023/02/28 18:21:04 http2: Framer 0xc0001381c0: wrote DATA stream=15 len=16384 data="OGaXhWrKSauunONPnXSPuBUrNKakghcXzRCHToMxIsiHZVeJqurbEKeGZbYMVRjAczHpNCXHNugTPTWDQzEIcsOmipMSLdBQHkQjOttDzNKhzvViltGvDXaPgPUgknhWNkjHnohlipKxPtLbIqooKlnUQYMeRgWqfsXpxwryFbsApwWLibPlbMcsokxCMLgrlCORZikFKOuJtwRMDmKUdSEZWlarzCuzEygIzZEjPVVZQxSvOZLHMKqkvjWkCImt" (16128 bytes omitted)
2023/02/28 18:21:04 http2: Framer 0xc0001381c0: wrote DATA stream=15 len=16384 data="zpXUPGkClownOJmZMsZDlzoumrLeLtmTqBXHkeDCTnICHsWVuXidGHJhXbmtxwsIsbRTeMpCBplpjJOFEYZaEAPWmmjoPiIbzQCqzumuRkBCbZSaLacNirfxDanIDWAXLdxdKHhOjsBMKHPJkAUKqGvsfyKycvdLPewnFBoGdcOCMdQVQrjqqXBOCbMsupLwgFAYPljxTMDsnfLFHelCDZhRIgYXXzzmJHZWWsCnOwOzBkngEJMnVmBwZNHHmhSP" (16128 bytes omitted)
2023/02/28 18:21:04 http2: Framer 0xc0001381c0: wrote DATA stream=15 len=16384 data="woXGlKBUHxUhOoucbPGXdrmQVXmaRNECLTXtgBLJPIseRTBDDQwIYjcNbAPkxVxGIBUVGJEkkbXRRRFvBjmvYJIEgxBqDbusBFQWamCtuTXAYVgnloVIZbfeayVBzISqzDCWOymFLLQWwIOosQPVGDvUYisgCGlsnNgRJJWWCeLBQTgyREIiQWsURhmZEHwVusJfWBtYMMYkViwbFuaXrUewABNpsUcDCjUWjjsQuSxFpgSZCxRDFxwtYMBHvwuR" (16128 bytes omitted)
2023/02/28 18:21:04 http2: Framer 0xc0001381c0: wrote DATA stream=15 len=16384 data="eYEbxVbXRPLgCmzjeTroXITyjrsfhTbxzJwTjQWnqoPiJcIBJhEUHnmWdYrfIiKvBInXSQcKoSgiiYFHjUvZxszlPpRBiFSIwFoqnlvJXIrvLPsfEiLforSOGdHMTxBMHTbEBKGJaFopLgAfxSiPezatlSAxMOvvPLWKOCGipcajPACQBxdTxbHHlzjfJZsxsyVSUyONZWNMzqlooKKtsMAqEUjruRyqjoJoFKKTTbDjBArEaZhfuzOtAELvQqME" (16128 bytes omitted)
2023/02/28 18:21:04 http2: Framer 0xc0001381c0: wrote DATA stream=15 len=16384 data="ntgkUGzaBYaudNiGltzVyASVBabBDBfvOjxeefVLunQKJuGmjxNlOJeQjOnGMInZavlbSBTigfienVbOAyhJhsawSZmGsjvhXoSmBFNKutmrJJVDTJOlacNstfqHcSmwJJLgbyfDCRthitXoKoiTtbdIpkkGRwuMYZpEWibmZiXIYZncpFxMIfcjlsOESUzjQWLTTMtmXuwCAgmBPcxWBRujhFbkSdtVaLTDKZebDlyikAKNabVugyyQXdlRLZSc" (16128 bytes omitted)
2023/02/28 18:21:04 http2: Framer 0xc0001381c0: wrote DATA stream=15 len=16384 data="xMXuGtWVPZuxzYCvFpzoyDguHfnWHixPpLdeKXMLAxiLbWRlEXoeggRnVHOjXayLFJesuLkMZeVyHzxPjlgRQvQRUuOPqjJdysCooxzzrHZiIkMtlltCMPOxFpBhUZioKGyDRQTRyokXKtXnHcKezTNUPCYQhFZiIrscWAuaKVSQgzWtiIlHzTnoHuFwEQtjQJVtNSseAIhwFSukKoPyeVpOLlgIrqtksOJRMxRAruUFVzhDnJVHRgDeSENdNMlU" (16128 bytes omitted)
2023/02/28 18:21:04 http2: Framer 0xc0001381c0: wrote DATA stream=15 len=16384 data="JtBSOdeGhPobZAouMkXKbloHpNdTZTaTIpGznahSoVFrqzISfrPsSvQEZgjCudoSHjScDiDrhTXRVJsxbYlSOMjBShynvOkPHYqOtXbMJYiAFMWXeoNwFyfbcYrDvWSLcObsvDSxgZoIOgMhRsySSVFgYywecFNYaalPIjTfbonLZKXvFNJtxoCRMmbydOJNsqjCTcoDMxRdSxyimjWAyAcqtWTufJIbvxxDWUmZRgAHErawbKOSjJJJCfVyftGM" (16128 bytes omitted)
2023/02/28 18:21:04 http2: Framer 0xc0001381c0: wrote DATA stream=15 len=16384 data="fOBDzjYEDAVzflOjscJzMfXvxDRgOcmwZcxaiFILzzQeDSCaQvKpmUtGUlMCqFzIzvaBmwUjykvutkwdcKLHzIyqLMaOBQZBRwmLGZeKeThfPNFbJyrLOHbFunAjqbhLsdmxhluHrUgNqkSaUQlkaAEQCsVKWzQvzZcObQlKZYWErDjnKbyrIlisuOwjaENIkSrvlWkPvJhPagOifDifElFOtoyAlVeyNUmCHTHjqbevSwIJSraUIiHeipLEpHbX" (16128 bytes omitted)
2023/02/28 18:21:04 http2: Framer 0xc0001381c0: wrote DATA stream=15 len=16384 data="nQhcSdJOmoqRESmpUVpIWrScvgbeXyuxHfOtQCFpoZioLbOzWRVqtPfBvbrmEJwbVmZZcCXsDpKyJYbrTzlxikbdQrRzVVUBMoSqFNzaonRhiEkqTnalTabfPfUtSpHYSUTSRaLxqurYTBoiMfZtGJYqjdUbjLWseSneLBQryoXzwHWlXxyocUgKEIdoGHUhaAuFnVqXoGgyNnhIHFsKbHfDnNbnUfcGuQJYoFiGyxBDhnRShWAEDpQpKjUfLgFs" (16128 bytes omitted)
2023/02/28 18:21:04 http2: Framer 0xc0001381c0: wrote DATA stream=15 len=16384 data="DXkcruwBvDaucJBGDaMTDtFZccMSkyTtFLHbaUUHjzmmgltxBmLZwsHztAPfiYUhJSPqGrZdVmIrcSUNZJotGxebuJeSanlSaKFDHwFkArNomcEffuglrwILaqdZcOjtQKQacikTlCYMyPHRNaCPLWRbJvYNaWYyiLMuNyopXtCBguiLrLZVqQHvFaNhsmSNAXSzCyWdEnTfEGfmZelCuVHZoLwNBPXWQvumekjnXnwIirwFRmjuGAFBIsinHbFc" (16128 bytes omitted)
2023/02/28 18:21:04 http2: Framer 0xc0001381c0: wrote DATA stream=15 len=16384 data="wMNleSDFvfipCcUHPHCKEDHuhnjaWecFTFZQNbRpfJLrvZJbZFgaIjjpFfozfnzYfingkqbiGtDsfDlAoNPauVvjMEIgtOteMBhvpRrETjCmDWOIjkDXkFAmaSTuMiLgmGsKeBoLnagTpwBAkMsfuGGUGRETCVbvPfrjJLZAYJNVEgQzwmyYFAWVMrQgJyBlLNDqabAxQMKKTbbmcGzsRkPMvwLUcZlOdGvCBLnDlZxxYXqTGFSoommCPbXLgCMj" (16128 bytes omitted)
2023/02/28 18:21:04 http2: Framer 0xc0001381c0: wrote DATA stream=15 len=16384 data="sUWMEWirgqdumyzgNldVzxVnBuWDxCJMrZifLyvcufdMrxvcSplWQfnwEXjpLCLGnQpwopFHejYFEKzuuBqFCZzUeAuCrZBuKtbVQmFpitGDSxXcoPCMbiPFzTknpHaXSDgTPTbOlGyCnAhAwNpTqGHiKiLZQuwvmGTMBqIRaZTYcsvmzgPFlwVtYapYoFzbsbnuKcoTFEqiqkiVugPHTQgwEpkpxkwKxGFaeqsmcuOMOENRQHsfFnbXtnkxLlbV" (16128 bytes omitted)
2023/02/28 18:21:04 http2: Framer 0xc0001381c0: wrote DATA stream=15 len=16384 data="tWWMPpTOzwPqfkiQUZBkNvdNVBFRauBPNlKvVsQAqSpjvgZOwrPTVfrnhiJhMISYAiEEYGNWUVCKmeipeiXDPnSJbZRFYNxaRaWqCYuhWQqyUNIxaXBiJxSjfngVvrABLuTwfxecwOgPnWgikerraFWowtTVraHtpteZgaRzGIrLprencnifLUcgcTCETUXtofehJQyzmpiSGAWRRsfklFdwOeJqFOcKazROClIlzNYYrRDsbzJqizHyLiKqOtQN" (16128 bytes omitted)
2023/02/28 18:21:04 http2: Framer 0xc0001381c0: wrote DATA stream=15 len=16384 data="yAzCCExgJvCCmGkfNGTynNwFlpqTRAUgAOEdurJrTDTUkVsExeBQlwoYUMmqadgZwVsWOfUntuKEeoWrIjUHPWLYxVaOnbtgmubJXUhzubzTVuespffqAosHMKKPuacsHzcDVeqedOfdwjVYREMtNFCnnBxDuYleLyYBFqAfosKVJrPaIPJEItXEAWYwCuqZGgUwdYfaYKsAaBHbbDOQhVEpQLRorQZmSNfBydXUddCMPbobbRKtngUnvcGoCiXk" (16128 bytes omitted)
2023/02/28 18:21:04 http2: Framer 0xc0001381c0: wrote DATA stream=15 len=16384 data="XDqfeDxTGZtmpSDVdmedJDHaWTfGhONPJXsOvfgWckanAeeOtCwywrLffILJlROywVVAkfZhpaHMneAGAjHZCrDNSjHRvYEuZemPsTMiJWHpaosahRweefBFouncquBDFRSpKlYfinFRYRHqlWxlZXHQdbGXfNxYLhwEqvQeYVkwqHNIDNZnLviYNXrRKmnbjebhsJhVkZYkwEUnClvRpofTMwcjJmeVYCIXDRgjPAVMSrxWGtMgkviLxjYbXHLi" (16128 bytes omitted)
2023/02/28 18:21:04 http2: Framer 0xc0001381c0: wrote DATA stream=15 len=16384 data="fiSesbDKPVMQbzMTTfWvDcLdqGretGNrroYsiorURSBIlRNSzkihzVfJAqlfGtgXphmpsTaWKVIjKbJkrbKsjKyOFThWYieGtdnVbLRlnGjfXBqOBYplJXBoDjAXhWgHLBhJGyyBkZisxoqRkSkmKdFcmJVVdSVmmklvAviYLGfxYzABicTzwpDeLTpGRmJoBCqRnGAmQInRTJGNhBKydJCPQDUYdVdsHVManGKQwCiTntMxEIJWDbvBRkQMiZqu" (16128 bytes omitted)
2023/02/28 18:21:04 http2: Framer 0xc0001381c0: wrote DATA stream=15 len=16384 data="OkFqeepNeWrlVwHkKyYwuDAtmmRfnOohYurVVjwFvkZTiVWlOBSbRIfeZmTpGRowMuFJzJGVWuvShBAdvuXwhVbKlntVhEaKPdklbUGUpmSJguMsKuUTdJVPuTPxLkAgNylNttPcRCepyNRaLHDyyAImwJIvkRHREQVrjDKhRLNHPqaFcotHukJtFaKPWglJqwAFwbrxIxYfryeSXiFwzZQIunUDscGoLegQuNyihKqAFBDbLcHPbtapkrBYAzqi" (16128 bytes omitted)
2023/02/28 18:21:04 http2: Framer 0xc0001381c0: wrote DATA stream=15 len=16384 data="aSdMzreIKKAitSTHrneadWpFrSxbzXflKJUvzucfOrBpdgPGmxDhDmxIqEIjAMTSMevNgkcckrHrUZasQZLlJsbxuiNalNpFHlyDBOgkddqAdiXXYCycOHuPjBOuXuwMwZETsrGbyzxsgAmsFwYghtHRwAmoxvFrFxQBSJeARikiMOdWXtugOWoYLufitGznGdgRNPARRMQIqOTDlEnkTmWEpcQSIenzuNKpjwQosOKAHJhrlpZxGebZajXpZtXR" (16128 bytes omitted)
2023/02/28 18:21:04 http2: Framer 0xc0001381c0: wrote DATA stream=15 len=16384 data="QeHOMxmSHBWqNNIcqRoyDMmQFQGXgIePeLiYhcMqqcFehVKYTQPzwuVatGjSwrYzUFDpLIbnktCAwprJSGQKpKHPtxscZTUrRiyqYMsgtnmHhNshczZDqGbwojiichzIqnFJkFbPvXvYUVzmuGHALnpbylQLOzNubCnPvATLMfegaasFFCgUNdxWSNEOkrWAAHVNPVKdfDVhcbnDtovqnHCRWvnGmnsqgLnLunWAVEWGrGEhYacAqumMMxZrYPnh" (16128 bytes omitted)
2023/02/28 18:21:04 http2: Framer 0xc0001381c0: wrote DATA stream=15 len=16384 data="vSOPBgsPKBKJAssuwSfqyVseogZRHuGHYjDnUspmVJKILnEwkVWJYxZvWqwbBrLHFMRtoagyCaintlUURYELIkLuadUWIJXdieuQmSnODRhxOKfNIIFbXjwPIILpKHvTkDQUPBagqWqXcESxflBTSucJKGprfASHQSRIeOnpyYZQugeHyrpgWWtjtpPfzRzkyKSMjrSKMXGiWQCdCIHENlRDkomQhsFtITYsXHFYFCBkwzJCJtyXKcxMFAiLgdoY" (16128 bytes omitted)
2023/02/28 18:21:04 http2: Framer 0xc0001381c0: wrote DATA stream=15 len=16384 data="SWwVPhZcVzDQfdUzHpfKcgKnOwHDTENipzhKzIYEsqIrQZxUnsdClXxprVOAlThsFOTxkbNUNAnWHxARooeEQTHOcsLWgYAOzeZpGQaknHySxOHfuoRWfGsHBOGtmzYQsLEtlRaAzlOkarVQtUgROJhafbJfcMRAslRAvEsQIckJuqMkThrRxREblipuwPpdCIvfMbUQlUmCbNgsfzWbTvnNeylIiVvPklyLqrfjxFEfNFWfPlHIiGWMubeJvhVA" (16128 bytes omitted)
2023/02/28 18:21:04 http2: Framer 0xc0001381c0: wrote DATA stream=15 len=16384 data="agXVyUSlccwzLracQFgwqqSyAYfAFWuGNVSjbmTwkGuFIoyqoHzOAZPVeGImXrVxFSswxDSDReUgPlHvPXaSdvhMKlmpJQcpqnuAOQcNSvJZZvgdSoCoCiFPiCBBtVVZNuWgFMtBJLaldPApEBWRHyWBNWwKfEVwAGYpGtSYxdRttCuehiXqSnvGbBdzWitLiZeavBBjblFHqHCXDijdSflyzFBLoyQFihFTImilTQeceYhVmdvHYoqXXjklkKuR" (16128 bytes omitted)
2023/02/28 18:21:04 http2: Framer 0xc0001381c0: wrote DATA stream=15 len=16384 data="tEEbvsehkepLCwSvGJeknAoJMGIjciiLkNeSajMXRSoQrHQmmeuXBliBgaIWbgwuLfsQgcnKbKiJnWajBOXMapGAAOaSdTOqgIApQbepUrnozxqqMUEsGthLvReazqNKGqSWVDoiJOmOPGbNzFINjHXdJoOWBohRplTEisaiddNrwugvFroOMvzPUMoLYfkmCUyPVtfwdHrxvKkDWOSaDyyuWjHgOgMjvnlRgJVMOclPnLSPbpePyOYxxZkUihoC" (16128 bytes omitted)
2023/02/28 18:21:04 http2: Framer 0xc0001381c0: wrote DATA stream=15 len=16384 data="PnXlUGIrEcVlgHjNoRMXmSrtUMCmBMfmtRmcsEKpVOgXGFkBSodNyfcriUWNtmVKgYJQOBESzTLCGwHQcISGXYKJcGFlbmgYfEgIFoNtODifxblpqorFyFVNxYcdfRYaKwMWbxTRVzbkcWWRBbjMvkTxFAObRAIDlhEdhuEpbEbuFBHxymgIqQVBCHpsflOwKFIRgrKVZdRjaZOOlCMqOoIpYcKolphbdPMlzcYehCLNRCMPAhMxLscaVtfBNRAV" (16128 bytes omitted)
2023/02/28 18:21:04 http2: Framer 0xc0001381c0: wrote DATA stream=15 len=7431 data="jRBCGABmjZxDIMzPsEONhUIgtGyokOmUfbKSNHzeFXvGRpBvnAUgpZoRjuTeHgmiiCiEwdvPtyiHFIYkVhZNKOPwnctZwLnhamhmBHnAEIZcxPvBYpIiqGpyylYhQxnbsKCedHiMqFtewulDExnISNJzDbWznXgDGeFVVEjfixlqMnuNzSaJeDntBrScvbbAuaZqpWpUXElrwjZSPQOOHeHbcBPauaAWjMrVtGsxWiBNsaBLmwrIhPQwxbVtOKly" (7175 bytes omitted)
2023/02/28 18:21:04 http2: Framer 0xc0001381c0: wrote HEADERS flags=END_STREAM|END_HEADERS stream=15 len=2
2023/02/28 18:21:04 http2: Framer 0xc0001381c0: read PING flags=ACK len=8 ping="\x01\x06\x01\b\x00\x03\x03\t"
2023/02/28 18:21:04 http2: Framer 0xc0001381c0: wrote GOAWAY len=8 LastStreamID=15 ErrCode=NO_ERROR Debug=""
2023/02/28 18:21:04 INFO: [transport] transport: loopyWriter exited. Closing connection. Err: second GOAWAY written and no active streams left to process
2023/02/28 18:21:04 INFO: [transport] transport: closing: read tcp 127.0.0.1:50052->127.0.0.1:52068: use of closed network connection
2023/02/28 18:21:04 INFO: [transport] transport: error closing conn during Close: close tcp 127.0.0.1:50052->127.0.0.1:52068: use of closed network connection

client log

2023/02/28 18:21:04 http2: Framer 0xc0001900e0: wrote HEADERS flags=END_HEADERS stream=15 len=7
2023/02/28 18:21:04 http2: Framer 0xc0001900e0: wrote DATA flags=END_STREAM stream=15 len=21 data="\x00\x00\x00\x00\x10\n\x0ekeepalive demo"
2023/02/28 18:21:04 http2: Framer 0xc0001900e0: read GOAWAY len=8 LastStreamID=2147483647 ErrCode=NO_ERROR Debug=""
2023/02/28 18:21:04 INFO: [core] [Channel #1 SubChannel #2] Subchannel Connectivity change to IDLE
2023/02/28 18:21:04 http2: Framer 0xc0001900e0: read PING len=8 ping="\x01\x06\x01\b\x00\x03\x03\t"
2023/02/28 18:21:04 INFO: [core] pickfirstBalancer: UpdateSubConnState: 0xc0000148a0, {IDLE <nil>}
2023/02/28 18:21:04 http2: Framer 0xc0001900e0: wrote PING flags=ACK len=8 ping="\x01\x06\x01\b\x00\x03\x03\t"
2023/02/28 18:21:04 INFO: [core] [Channel #1] Channel Connectivity change to IDLE
2023/02/28 18:21:04 http2: Framer 0xc0001900e0: read WINDOW_UPDATE len=4 (conn) incr=21
2023/02/28 18:21:04 http2: Framer 0xc0001900e0: read PING len=8 ping="\x02\x04\x10\x10\t\x0e\a\a"
2023/02/28 18:21:04 http2: Framer 0xc0001900e0: wrote PING flags=ACK len=8 ping="\x02\x04\x10\x10\t\x0e\a\a"
2023/02/28 18:21:04 http2: Framer 0xc0001900e0: read HEADERS flags=END_HEADERS stream=15 len=2
2023/02/28 18:21:04 http2: decoded hpack field header field ":status" = "200"
2023/02/28 18:21:04 http2: decoded hpack field header field "content-type" = "application/grpc"
2023/02/28 18:21:04 http2: Framer 0xc0001900e0: read DATA stream=15 len=16384 data="\x00\x00\t\x9d\x02\n\xfe\xb9&keepalive demoPYnLZVlLxoGurGIhiFADnXgUacNsetEOwqePnZntzUBCsXkWiDGgjuIXCJTIUbopgstRjkDucGGrfCotnwGFsXJofthNLLEWbROueaRihGlLsIfBuppMuJAYNoJpswEXKEvouPdFtHhqAxgtQnZZyXJJbCukTtHslDrpGAFsRaGQRVxfInjJvejRHNInWujmNOsDveKgJKHjFkUAGOdegDJGHChscmvbezdPvYFRb" (16128 bytes omitted)
2023/02/28 18:21:04 http2: Framer 0xc0001900e0: read DATA stream=15 len=16384 data="QzBjzkvWhJNGfqSmCsaMvMEiolBPigPIDXkHMnKmpCzHqbMtiEnoGlPUUSdqqmUtuiuKQPpdcPvfrkjvAGsQodtOByUtcQUVxugNdHeNUvhlGgQckISRegpvHbkcIWoSkQPiojRxwpCuafarCENDuKkwFKjMTbCklecWCaqfXdrFykoCfEsfLKOQVEBgKNkXigSHOyTDXSwTWUJRmWXguthYjxIcIAPEEqPpjEHTzSqSwDJZDAMOzcPKCpcTPYfi" (16128 bytes omitted)
2023/02/28 18:21:04 http2: Framer 0xc0001900e0: read DATA stream=15 len=16384 data="IdIcGwYhNSLTSggbyhcAlwmgouJpdYNkDjQWIVwVMJuQXxCfVjPBOLkhuTYmagsyTSRqBmzIIusLaZkqwQGNYueeOczlFbtwIZhqBikcVuzoXXvndBnVnbHvcpTzkHMKDYNyBgpePzaiGqjxWjanjdZSnZwArIuyOsHfDHtQtZZgjybtaCAwkKzUNhfqhItVugWoEuvbFtneDBIvmgEtNiBLdJeeXQuBccNcUajQoIocGQgvLjUTVZokNNUpaWSc" (16128 bytes omitted)
2023/02/28 18:21:04 http2: Framer 0xc0001900e0: read DATA stream=15 len=16384 data="TGzNVVJFmJKxjXSwiiFInCNZAVDLkYlXOYUoZKxOnqQaAavxWcVxbbgHvDylDNjDmKobmHFAaLjEqMZvxsbenROtdqWegbGgSCmbHVQWhJRvfytIQENpbQeingNExYRyaGGmVhVIDZYhYLlThYwKerihIaOfLGKgfyvPAyCBibuOurqaGSRZfaTpPVaHHguvRVjTyDwZxNndyPuyEVpMIcXSAjQVtwqvycLmmGoFvMWsVQVQCOhperSZwYCrnpjL" (16128 bytes omitted)
2023/02/28 18:21:04 http2: Framer 0xc0001900e0: read DATA stream=15 len=16384 data="OHIzfPEJIymthYyHaQaTXFvDDBLDqaAbsxDwkIZEvStAtsPZtgJBMaXCXfKusTmAdEgxCCImPqDevzSUinFVrLRQdHBbWkrytgPFAnEZtSxHzqaNgmWPfqjmRRLSnADfSIcveffTzyOokFNKzDDVphSCfqDMeOrqZiJePLDsULYldLmhCsuZmykOPWkXnQHtGaRFnhjmJBIUKlVCDpJsdHafZizPzuWzlswDBZJcJAsKlCTVbMLefqVmDZGNqNRl" (16128 bytes omitted)
2023/02/28 18:21:04 http2: Framer 0xc0001900e0: read DATA stream=15 len=16384 data="PuyYWcXNPjxNmmzbWXtDeOBkIXTNIxjyDYIXAHXqUaTHUZEaedSiQWMpVptRaMKRPmBNfKwVduGlqNbMZxuJJxOmJWIodgcysblybEoSBWGIjikqpdxLUbttEQkaULfwvIAqCNFTYbiMzHLpIMpVCyPTMbBrxmGQsiOQRoNmOVScWezgpizYOxHcjsJsadUDtxOiXNOSHTaRdHZcslClCEysNQvyiUoGklNHOZZRvHEKnzyNLrVDbdEwYtKCHDmX" (16128 bytes omitted)
2023/02/28 18:21:04 http2: Framer 0xc0001900e0: read DATA stream=15 len=16384 data="SHljeWYZHfEQaaUidFyfQWfAAJvMCmSpkWATBqIZsjFOGfTdNDPRGcibbcPhsDWlSHdnMqWJMMlHCVibngSKZoSkBPeCUbIRUIZSFFoVnGoxTQdRvsYRMuVNsJuWqSHyMWMMIYVyWMFKTQoNRLhuCzsUerUADRvYUZWelBvNqNeZunSBWPJnmUeSfRTLeJVNUTRdbAXibzbaeeZoVKiJCqboFGzALfrLjjiEMZePDJmwmyQuZcfhVZCOrxTSFdzE" (16128 bytes omitted)
2023/02/28 18:21:04 http2: Framer 0xc0001900e0: read DATA stream=15 len=16384 data="eHroLjMElOzAhHmYUpmFJGUXpRUvQcpfClYNabWAjAciOaQvLsvXKjjCqrBeuRYBpWIGwZKOfUXIpNUoomoEgwTjWSJRpvcUFirHhveTVBMYUWVFayInwHaErIpQmfPwYfOJEJiRkICbndbhyPUlnRgkATKJMkspnEbLrfWuEmjnOdJvrWxpqhTYnDrxLcasMaZdHuhDPEzIrcsEgkOMnHuVitbibfzQNebqVokdUUrosVCMuiZsfLUJENlOHutN" (16128 bytes omitted)
2023/02/28 18:21:04 http2: Framer 0xc0001900e0: read DATA stream=15 len=16384 data="uwBbwnyBOnSPOtGqGYCGFOCVGhCSykBpcOxSoMcXWAyQahTbBieukxuDIASaaJtVihSfDLuZteToUoaNhukQnmcSRuWSzcdcjwsKFeBxcglYlKszcHfvoQnIdfVGmWKTBkImSqKiaaOGdaIzXhgrMbOawLToHMLbBRNozdSVwHvuxLuTHnQAXhrTyeArvdIVNUegGzhzcNhbozFtRsCpSEQulnhvzRPnlyIOHqvNrQWoaAWxnyUylopOXelnHTAH" (16128 bytes omitted)
2023/02/28 18:21:04 http2: Framer 0xc0001900e0: read DATA stream=15 len=16384 data="YrROQFVRnWxqvLXCjZBsvxJCdkslKxSldPDXafQPxDWozJCuzChbqEflgQCnjeOvvyOXFCgyyOvearrmOhpluoFVegwVkRdNGmUXNVPydyUTQTviTwUVPaSzuoudEJpKwCclaQGfqfTJaFTznUJJOWdLHmJoXvbcitOvCDzhkCUZamjHXzqJnKwSUiTkohGJJfGaOiSrRkqtEyQwyxryRVWIGeIdQYVwUDtDEJSXOQtiBZkdnmkSPPGwxNtycQgm" (16128 bytes omitted)
2023/02/28 18:21:04 http2: Framer 0xc0001900e0: read DATA stream=15 len=16384 data="mzoBYtxzrsBbZbrjxTjTWzpvrZlcfLaQwowuaYfkNZDsbdpMoWozMlEUCDGZzeVEvpWURxKpFIuErXlKVWJnewWPEbRDGRGpEUrYUAuzCFISSNMEYMWkbkFvzECSuUQecAZGXhZLHeGhJRmyeCnJFVhlYvQOVqcFfoaXbnmOqzaLSVUSiZhTNiPYhjmdppOQyaMjhwsVPmelVwtbzXlwkSqmHBICBueTJAuRvKKEudDnfjkyKZvBsdmfDnBSIrWb" (16128 bytes omitted)
2023/02/28 18:21:04 http2: Framer 0xc0001900e0: read DATA stream=15 len=16384 data="NKvBlOSmmOcmFRDKZziqSwWtVOPouOibOPCABmIPdeDyVQfzwfdhkkxzDVZVDurhDJTwyhmcAbnybMLYAQCwuNSJomtNiSCavinahvJDaMtxfxFspPCCjzkHGgytozjguCirDIHOXmUsHWvREMNgdHbceEYRovpxGuLMwmLqjKRLiAVRlQMmwGBowIGqvQvKisnWxKAzlBuBOwYNzxdXeMrMXCMaIGbXAKgEzcPevsehjWyxRhpuBSSTZfawxyOG" (16128 bytes omitted)
2023/02/28 18:21:04 http2: Framer 0xc0001900e0: read DATA stream=15 len=16384 data="yAZkNaCGDpueNPEgTTzSyDitOlSnTKRaatYRVcxkcooGmMXQfYiVyQiDpntLtQDQldKPcgPjFydnYaeDHgYFEisQMbKzXmqEpuBFxjDRlEjHyzAhcCzdFzDDSqPczbFvDzdJTejLkKUkaBLBtrmyGUsQXFNwHdugCbVhxgpAtVSkLirMOTubvQqpmUPxjAVicJJwSvzIKmtmSdTcmMMfvBDoVPwxRRvlgQcTjksUgNEPNktuDjPXvsgTTTrlxXEc" (16128 bytes omitted)
2023/02/28 18:21:04 http2: Framer 0xc0001900e0: read DATA stream=15 len=16384 data="MShDEPtSdSHponmlPrgYsalPRvFMKNjaEMaSTFsqwDjXPFnoFsANjHBexaNlJeWUIowVLvqJOthfFEFxLYeDRvwHJvRZWBqjVAZhlhMNBtypajPgPChFDfGcMRnFwbKKHFXpZeCNMyusFCQSztQxpqwapNYUOcqiVFBDgquFgXbRzTgQATaHeuxocjLeJxPXRBWfzgHGJxirpjcZjYsrdskCnVogutevkMEHDyrdxmisZIsSbOwQxaqoSEiGRCPm" (16128 bytes omitted)
2023/02/28 18:21:04 http2: Framer 0xc0001900e0: read DATA stream=15 len=16384 data="OGaXhWrKSauunONPnXSPuBUrNKakghcXzRCHToMxIsiHZVeJqurbEKeGZbYMVRjAczHpNCXHNugTPTWDQzEIcsOmipMSLdBQHkQjOttDzNKhzvViltGvDXaPgPUgknhWNkjHnohlipKxPtLbIqooKlnUQYMeRgWqfsXpxwryFbsApwWLibPlbMcsokxCMLgrlCORZikFKOuJtwRMDmKUdSEZWlarzCuzEygIzZEjPVVZQxSvOZLHMKqkvjWkCImt" (16128 bytes omitted)
2023/02/28 18:21:04 http2: Framer 0xc0001900e0: read DATA stream=15 len=16384 data="zpXUPGkClownOJmZMsZDlzoumrLeLtmTqBXHkeDCTnICHsWVuXidGHJhXbmtxwsIsbRTeMpCBplpjJOFEYZaEAPWmmjoPiIbzQCqzumuRkBCbZSaLacNirfxDanIDWAXLdxdKHhOjsBMKHPJkAUKqGvsfyKycvdLPewnFBoGdcOCMdQVQrjqqXBOCbMsupLwgFAYPljxTMDsnfLFHelCDZhRIgYXXzzmJHZWWsCnOwOzBkngEJMnVmBwZNHHmhSP" (16128 bytes omitted)
2023/02/28 18:21:04 http2: Framer 0xc0001900e0: read DATA stream=15 len=16384 data="woXGlKBUHxUhOoucbPGXdrmQVXmaRNECLTXtgBLJPIseRTBDDQwIYjcNbAPkxVxGIBUVGJEkkbXRRRFvBjmvYJIEgxBqDbusBFQWamCtuTXAYVgnloVIZbfeayVBzISqzDCWOymFLLQWwIOosQPVGDvUYisgCGlsnNgRJJWWCeLBQTgyREIiQWsURhmZEHwVusJfWBtYMMYkViwbFuaXrUewABNpsUcDCjUWjjsQuSxFpgSZCxRDFxwtYMBHvwuR" (16128 bytes omitted)
2023/02/28 18:21:04 http2: Framer 0xc0001900e0: read DATA stream=15 len=16384 data="eYEbxVbXRPLgCmzjeTroXITyjrsfhTbxzJwTjQWnqoPiJcIBJhEUHnmWdYrfIiKvBInXSQcKoSgiiYFHjUvZxszlPpRBiFSIwFoqnlvJXIrvLPsfEiLforSOGdHMTxBMHTbEBKGJaFopLgAfxSiPezatlSAxMOvvPLWKOCGipcajPACQBxdTxbHHlzjfJZsxsyVSUyONZWNMzqlooKKtsMAqEUjruRyqjoJoFKKTTbDjBArEaZhfuzOtAELvQqME" (16128 bytes omitted)
2023/02/28 18:21:04 http2: Framer 0xc0001900e0: read DATA stream=15 len=16384 data="ntgkUGzaBYaudNiGltzVyASVBabBDBfvOjxeefVLunQKJuGmjxNlOJeQjOnGMInZavlbSBTigfienVbOAyhJhsawSZmGsjvhXoSmBFNKutmrJJVDTJOlacNstfqHcSmwJJLgbyfDCRthitXoKoiTtbdIpkkGRwuMYZpEWibmZiXIYZncpFxMIfcjlsOESUzjQWLTTMtmXuwCAgmBPcxWBRujhFbkSdtVaLTDKZebDlyikAKNabVugyyQXdlRLZSc" (16128 bytes omitted)
2023/02/28 18:21:04 http2: Framer 0xc0001900e0: read DATA stream=15 len=16384 data="xMXuGtWVPZuxzYCvFpzoyDguHfnWHixPpLdeKXMLAxiLbWRlEXoeggRnVHOjXayLFJesuLkMZeVyHzxPjlgRQvQRUuOPqjJdysCooxzzrHZiIkMtlltCMPOxFpBhUZioKGyDRQTRyokXKtXnHcKezTNUPCYQhFZiIrscWAuaKVSQgzWtiIlHzTnoHuFwEQtjQJVtNSseAIhwFSukKoPyeVpOLlgIrqtksOJRMxRAruUFVzhDnJVHRgDeSENdNMlU" (16128 bytes omitted)
2023/02/28 18:21:04 http2: Framer 0xc0001900e0: read DATA stream=15 len=16384 data="JtBSOdeGhPobZAouMkXKbloHpNdTZTaTIpGznahSoVFrqzISfrPsSvQEZgjCudoSHjScDiDrhTXRVJsxbYlSOMjBShynvOkPHYqOtXbMJYiAFMWXeoNwFyfbcYrDvWSLcObsvDSxgZoIOgMhRsySSVFgYywecFNYaalPIjTfbonLZKXvFNJtxoCRMmbydOJNsqjCTcoDMxRdSxyimjWAyAcqtWTufJIbvxxDWUmZRgAHErawbKOSjJJJCfVyftGM" (16128 bytes omitted)
2023/02/28 18:21:04 http2: Framer 0xc0001900e0: read DATA stream=15 len=16384 data="fOBDzjYEDAVzflOjscJzMfXvxDRgOcmwZcxaiFILzzQeDSCaQvKpmUtGUlMCqFzIzvaBmwUjykvutkwdcKLHzIyqLMaOBQZBRwmLGZeKeThfPNFbJyrLOHbFunAjqbhLsdmxhluHrUgNqkSaUQlkaAEQCsVKWzQvzZcObQlKZYWErDjnKbyrIlisuOwjaENIkSrvlWkPvJhPagOifDifElFOtoyAlVeyNUmCHTHjqbevSwIJSraUIiHeipLEpHbX" (16128 bytes omitted)
2023/02/28 18:21:04 http2: Framer 0xc0001900e0: read DATA stream=15 len=16384 data="nQhcSdJOmoqRESmpUVpIWrScvgbeXyuxHfOtQCFpoZioLbOzWRVqtPfBvbrmEJwbVmZZcCXsDpKyJYbrTzlxikbdQrRzVVUBMoSqFNzaonRhiEkqTnalTabfPfUtSpHYSUTSRaLxqurYTBoiMfZtGJYqjdUbjLWseSneLBQryoXzwHWlXxyocUgKEIdoGHUhaAuFnVqXoGgyNnhIHFsKbHfDnNbnUfcGuQJYoFiGyxBDhnRShWAEDpQpKjUfLgFs" (16128 bytes omitted)
2023/02/28 18:21:04 http2: Framer 0xc0001900e0: read DATA stream=15 len=16384 data="DXkcruwBvDaucJBGDaMTDtFZccMSkyTtFLHbaUUHjzmmgltxBmLZwsHztAPfiYUhJSPqGrZdVmIrcSUNZJotGxebuJeSanlSaKFDHwFkArNomcEffuglrwILaqdZcOjtQKQacikTlCYMyPHRNaCPLWRbJvYNaWYyiLMuNyopXtCBguiLrLZVqQHvFaNhsmSNAXSzCyWdEnTfEGfmZelCuVHZoLwNBPXWQvumekjnXnwIirwFRmjuGAFBIsinHbFc" (16128 bytes omitted)
2023/02/28 18:21:04 http2: Framer 0xc0001900e0: read DATA stream=15 len=16384 data="wMNleSDFvfipCcUHPHCKEDHuhnjaWecFTFZQNbRpfJLrvZJbZFgaIjjpFfozfnzYfingkqbiGtDsfDlAoNPauVvjMEIgtOteMBhvpRrETjCmDWOIjkDXkFAmaSTuMiLgmGsKeBoLnagTpwBAkMsfuGGUGRETCVbvPfrjJLZAYJNVEgQzwmyYFAWVMrQgJyBlLNDqabAxQMKKTbbmcGzsRkPMvwLUcZlOdGvCBLnDlZxxYXqTGFSoommCPbXLgCMj" (16128 bytes omitted)
2023/02/28 18:21:04 http2: Framer 0xc0001900e0: read DATA stream=15 len=16384 data="sUWMEWirgqdumyzgNldVzxVnBuWDxCJMrZifLyvcufdMrxvcSplWQfnwEXjpLCLGnQpwopFHejYFEKzuuBqFCZzUeAuCrZBuKtbVQmFpitGDSxXcoPCMbiPFzTknpHaXSDgTPTbOlGyCnAhAwNpTqGHiKiLZQuwvmGTMBqIRaZTYcsvmzgPFlwVtYapYoFzbsbnuKcoTFEqiqkiVugPHTQgwEpkpxkwKxGFaeqsmcuOMOENRQHsfFnbXtnkxLlbV" (16128 bytes omitted)
2023/02/28 18:21:04 http2: Framer 0xc0001900e0: read DATA stream=15 len=16384 data="tWWMPpTOzwPqfkiQUZBkNvdNVBFRauBPNlKvVsQAqSpjvgZOwrPTVfrnhiJhMISYAiEEYGNWUVCKmeipeiXDPnSJbZRFYNxaRaWqCYuhWQqyUNIxaXBiJxSjfngVvrABLuTwfxecwOgPnWgikerraFWowtTVraHtpteZgaRzGIrLprencnifLUcgcTCETUXtofehJQyzmpiSGAWRRsfklFdwOeJqFOcKazROClIlzNYYrRDsbzJqizHyLiKqOtQN" (16128 bytes omitted)
2023/02/28 18:21:04 http2: Framer 0xc0001900e0: read DATA stream=15 len=16384 data="yAzCCExgJvCCmGkfNGTynNwFlpqTRAUgAOEdurJrTDTUkVsExeBQlwoYUMmqadgZwVsWOfUntuKEeoWrIjUHPWLYxVaOnbtgmubJXUhzubzTVuespffqAosHMKKPuacsHzcDVeqedOfdwjVYREMtNFCnnBxDuYleLyYBFqAfosKVJrPaIPJEItXEAWYwCuqZGgUwdYfaYKsAaBHbbDOQhVEpQLRorQZmSNfBydXUddCMPbobbRKtngUnvcGoCiXk" (16128 bytes omitted)
2023/02/28 18:21:04 http2: Framer 0xc0001900e0: read DATA stream=15 len=16384 data="XDqfeDxTGZtmpSDVdmedJDHaWTfGhONPJXsOvfgWckanAeeOtCwywrLffILJlROywVVAkfZhpaHMneAGAjHZCrDNSjHRvYEuZemPsTMiJWHpaosahRweefBFouncquBDFRSpKlYfinFRYRHqlWxlZXHQdbGXfNxYLhwEqvQeYVkwqHNIDNZnLviYNXrRKmnbjebhsJhVkZYkwEUnClvRpofTMwcjJmeVYCIXDRgjPAVMSrxWGtMgkviLxjYbXHLi" (16128 bytes omitted)
2023/02/28 18:21:04 INFO: [transport] transport: closing: connection error: desc = "error reading from server: read tcp4 127.0.0.1:52068->127.0.0.1:50052: read: connection reset by peer"
2023/02/28 18:21:04 INFO: [transport] transport: loopyWriter exited. Closing connection. Err: transport closed by client
2023/02/28 18:21:04 unexpected error from UnaryEcho: rpc error: code = Unavailable desc = closing transport due to: connection error: desc = "error reading from server: read tcp4 127.0.0.1:52068->127.0.0.1:50052: read: connection reset by peer", received prior goaway: code: NO_ERROR

@dfawley
Copy link
Member

dfawley commented Feb 28, 2023

Thanks for the example. I'll look into reproducing this on my side and see what I can find.

There's an unavoidable race between the GOAWAY initiating the end of the connection (or even the second GOAWAY & connection closure) and the client attempting to use that connection. However, this should be caught internally and transparently retried, so there should be no visible RPC failure.

@dfawley
Copy link
Member

dfawley commented Mar 1, 2023

Have you seen this error in a scenario without the latency package? I'm beginning to suspect there's a bug there.

It seems what's happening is the server is sending all the data for the RPC to the client before closing the conn, but when the client encounters an error writing to the connection (because the server closed it), that leads to an error reading from the conn. But my understanding is that reads should continue in that case until all the server's data is consumed. In this case an error is occurring instead, and I'm not sure if that's a misunderstanding on my part or if the data is lost by the latency package itself. I can make the test case you provided pass by either removing the latency package from the example or by not closing the Conn after the client's writer fails.

@dfawley
Copy link
Member

dfawley commented Mar 1, 2023

I'm not sure if that's a misunderstanding on my part or if the data is lost by the latency package itself

This could be a misunderstanding on my part, actually. The documentation on net.Conn.Close says:

// Close closes the connection.
// Any blocked Read or Write operations will be unblocked and return errors.

So it may be unsafe to close the connection at this point. We probably have to close it when a local error occurs (or shut down the whole transport?), but not when an error writing to the connection occurs due to the peer closing it.

@hiyosi
Copy link
Author

hiyosi commented Mar 2, 2023

@dfawley Thank you for debugging.

or by not closing the Conn after the client's writer fails.

We probably have to close it when a local error occurs (or shut down the whole transport?), but not when an error writing to the connection occurs due to the peer closing it.

Which codes do you mean?
I removed conn.Close() from example but I still get the error.

@dfawley
Copy link
Member

dfawley commented Mar 2, 2023

No, this is internal to gRPC:

https://github.com/grpc/grpc-go/blob/master/internal/transport/http2_server.go#L340

Were you seeing this in production, though? Or just in test cases with the latency package?

@hiyosi
Copy link
Author

hiyosi commented Mar 2, 2023

OK.

Were you seeing this in production, though? Or just in test cases with the latency package?

Yes, I can see the error in our production environment.
In our production environment, the latency is smaller than examples but the error occurs under the same circumstances.

@github-actions
Copy link

github-actions bot commented Mar 9, 2023

This issue is labeled as requiring an update from the reporter, and no update has been received after 6 days. If no update is provided in the next 7 days, this issue will be automatically closed.

@github-actions github-actions bot added the stale label Mar 9, 2023
@hiyosi
Copy link
Author

hiyosi commented Mar 9, 2023

Is it possible to fix this problem?

@github-actions github-actions bot removed the stale label Mar 9, 2023
@dfawley
Copy link
Member

dfawley commented Mar 10, 2023

Sorry about the ping from the bot. :) #6110 should fix this.

@hiyosi
Copy link
Author

hiyosi commented Mar 15, 2023

@dfawley
I think the error is still exist. (but mitigated ?)

client log (from example code)

Performing unary request
2023/03/16 07:55:22 http2: Framer 0xc000222000: wrote HEADERS flags=END_HEADERS stream=13 len=7
2023/03/16 07:55:22 http2: Framer 0xc000222000: wrote DATA flags=END_STREAM stream=13 len=21 data="\x00\x00\x00\x00\x10\n\x0ekeepalive demo"
2023/03/16 07:55:23 http2: Framer 0xc000222000: read GOAWAY len=8 LastStreamID=2147483647 ErrCode=NO_ERROR Debug=""
2023/03/16 07:55:23 INFO: [core] [Channel #1 SubChannel #2] Subchannel Connectivity change to IDLE
2023/03/16 07:55:23 http2: Framer 0xc000222000: read PING len=8 ping="\x01\x06\x01\b\x00\x03\x03\t"
2023/03/16 07:55:23 http2: Framer 0xc000222000: wrote PING flags=ACK len=8 ping="\x01\x06\x01\b\x00\x03\x03\t"
2023/03/16 07:55:23 INFO: [core] pickfirstBalancer: UpdateSubConnState: 0xc0000148a0, {IDLE <nil>}
2023/03/16 07:55:23 INFO: [core] [Channel #1] Channel Connectivity change to IDLE
2023/03/16 07:55:23 http2: Framer 0xc000222000: read WINDOW_UPDATE len=4 (conn) incr=21
2023/03/16 07:55:23 http2: Framer 0xc000222000: read PING len=8 ping="\x02\x04\x10\x10\t\x0e\a\a"
2023/03/16 07:55:23 http2: Framer 0xc000222000: wrote PING flags=ACK len=8 ping="\x02\x04\x10\x10\t\x0e\a\a"
2023/03/16 07:55:23 http2: Framer 0xc000222000: read HEADERS flags=END_HEADERS stream=13 len=2
2023/03/16 07:55:23 http2: decoded hpack field header field ":status" = "200"
2023/03/16 07:55:23 http2: decoded hpack field header field "content-type" = "application/grpc"
2023/03/16 07:55:23 http2: Framer 0xc000222000: read DATA stream=13 len=16384 data="\x00\x00\t\x9d\x02\n\xfe\xb9&keepalive demoFfirkNgOEGzjPjMVSKCdcsqNLzovTyozSLtFNVrmeTfgDIxdlgeVgmRvgepkmegFTXUHMvbtclDghVQTYkNalzVaTnWECmuLJXEeBMKUyjgZutPmpoeLmamPVEFEhqqTSkRshdDxdzKwDlYBVNxMvuKbUGQhpGOSOlBLOeskdqocefmLZKtEPLngToLfARYTmBONvZzhHYdiQPBvYpazPtTvvHCKuQFWqPdOxlkmD" (16128 bytes omitted)
2023/03/16 07:55:23 http2: Framer 0xc000222000: read DATA stream=13 len=16384 data="hcSoOIlKbLRvwTGqgiasBjoqrvKLYmBkZakMUhwBKInmxIxHWFXayYHpWtHXJrdTvlzfzvIAlffOlnhTUuwZauOSllYBcdxENxmzZpVaKhbEZRtvtLRtMvLSGajFzZcXVqykWVHInfkoRHLYtmaNshleEhoTTDrjCVMUkZwQMwYAJZQsVfOdPPZXKkMpPfsAsyxeTRzXFDhWWtQPCAFNYZIOKDaTOTOkySvxgYVLVIrFkCcnUmIErjgfmYoJpxLI" (16128 bytes omitted)
2023/03/16 07:55:23 http2: Framer 0xc000222000: read DATA stream=13 len=16384 data="suUqHyKcKcmyMXtmAjmfmxxaQWxnHRPUbvWwuIWRPWAqtkDAVzdxlBDtRnBAMrfUedkpMpYAuWunEGtbzfhiBEPDZUYhNmvWuYQXKjpeuJLGIQEAjngZEvVnHGiqGxajPwZJihNELeZSBCPGefOJRJGEXXSPmdDoSiKPVSDwrngfABxDAucSbqiJaxlghYKccfxGMRbjUAHYsVLxDlfnWKhLHaaddwKISuzgzDDOfJMdPMxsnrBFxVOxJOKbiHNo" (16128 bytes omitted)
2023/03/16 07:55:23 http2: Framer 0xc000222000: wrote WINDOW_UPDATE len=4 (conn) incr=302343
2023/03/16 07:55:23 http2: Framer 0xc000222000: wrote PING len=8 ping="\x02\x04\x10\x10\t\x0e\a\a"
2023/03/16 07:55:23 http2: Framer 0xc000222000: read DATA stream=13 len=16384 data="SlhgjjAXeBfvoyIWkLMACCpBUlVHgowTqTLRMEKhxbpjZIRgwgYQHoRsuAEeeDdePjuLViFWKlRBkddsCvMhQHWCxQctXgFMhEdksBrjLlULBAAyIxvBKUXHhCPAoEaDzwDomOKSQnKQAsuttpQynobuaKRnBNpjQIyuuHvfZZXFOsdntSPMMtHVQyBwjvqtRFqVSqWMbIWCxhUtjPinPelMZVRLCMsIGTlkbcruHNRfKtmAwJdmAOjxYDicAHEF" (16128 bytes omitted)
2023/03/16 07:55:23 http2: Framer 0xc000222000: read DATA stream=13 len=16384 data="VXqfeVtCgTWDVMoWtIMFdUfkxxfiAJZORRuUDGVACEJiiVQTFMewqYtRjtNWFkbUceApWGRejOiBWAEvWKZdeyFElQkbwNvUnTzjcgbozTqpUIxKlxzUxQDJZIAoCVlWVXRCqdqCaZTQHKNJjDtTlpiCJfLxIJKNbvlYmYKKoyRosLbINyRyDxzxoXnbmXBYWCQsZtziWqEGeOzzVEjniyFxQiyQZBpptYKmniMCpWmmdxcMXEYSdRslaoUvYVyg" (16128 bytes omitted)
2023/03/16 07:55:23 http2: Framer 0xc000222000: read DATA stream=13 len=16384 data="lLdjeqLBOACGRfPuavrIywgbaTBiPkCAvEVMUPOfLYOOHvZjIaySorzbvlcMspFPPWBVfHcxJuiCCbCiqpkewyEMbUcyOYtscdsofDMjQuiCiSkdmbyldojJWPtbmRjExTpnQVUwVataGxJpqURvQeRjKLlukKVrqVJKDAGCxZePjWGuGZVsPoXQwvdaLHnWfCoIzGWGHPvcXlBjovFervlljdcwHelvVgnDpsqEIVVFJqtDagsFpJNthnuHuHPi" (16128 bytes omitted)
2023/03/16 07:55:23 http2: Framer 0xc000222000: read DATA stream=13 len=16384 data="RPgIlupBhvZlMozAAxzoajFRbcgXqhyaVJHeQdZheRJqzDqXdfhLyndKxkWNykcRBykBuDQCwkJRHnoRIAzNibtqYqkfOTDFLJBAdzEjtufWmwwpZRrpEOonVbcLgvQvNYcKhcCeQysMlxWlrnfFgpwMppOMyNxewBISLioHYsmqVPgYyxkRSxhjnqjUslvLODyvDdeJzCoYhrdxYWMusKzlRchpYJKmvYhQiWZDcAPxpIUtgtumBzditbsoFCPT" (16128 bytes omitted)
2023/03/16 07:55:23 http2: Framer 0xc000222000: read DATA stream=13 len=16384 data="gAMLNosIncdRsnrXKwyOdkUzgAQwGvgLwRERbbetHHIyxEvaoEBiTylNqAUIOzkfvYoPdTwkYfAjwcoTpVFhMgKVkhWjiOzJHdrbXhtjklEtJUqRltpWSBbtqQqIuBXSZMKXMAoHPGpCZHbgnuVTFiooFbkBSgfFchNXSyXvaVZYJHcMEmZjiGVFZWNtcYqgXLTdeCwAfAnBYHGyVPIBHKpXUxFfUjYTFLPAooXWnUMEhUaUzVmRnZpxwzdUtCJl" (16128 bytes omitted)
2023/03/16 07:55:23 http2: Framer 0xc000222000: read DATA stream=13 len=16384 data="zVkjbiJcVYWuoIqhXpwfJxtIaRPHtgCWlfUViPcvZlNhYiuBmVcrluBQjzmvDjvtEsRJyhsvnqyQaxcctkTwDRsOTfcKKuhhpabuWaONXeqQCdCUNjfaREnCfqCZHPuiSldqbVDsBYrxuGjXsBqUJbmjUvKkgBFgKKKpiNxqdfjNoVKgNZqqiblpaEUjBSAMRkSMPRKoFVQOHtKzCgvDSzkUYFEgWBVONMqRzVjpDiiwsHIizZQEDJAJvLqQycyw" (16128 bytes omitted)
2023/03/16 07:55:23 http2: Framer 0xc000222000: read DATA stream=13 len=16384 data="FOlWHahmqsxqVqltAkaKwVFCvVNPOudWBYqrCRliaaGHLhOWxiSXklCDzHvFnAeFykkcQTxggEVLVkIajULEuEqjYJzSTXowSehoExxzWmLitRNjYAyJVkhjWAMQBPzQFwLGIyRkaDqitZGKlIeAbsaDzmfqsqiYgZWfclzRgsiyVixTqTbZjVFTLajvBnhGGJbFyimuiZDtJnabLxZrAUwcRYtPvbHxJPNOMQsOBSouBUuuHgIgZeyheOxOCcwK" (16128 bytes omitted)
2023/03/16 07:55:23 http2: Framer 0xc000222000: read DATA stream=13 len=16384 data="CDYoCGFGPnCIldRWIQmitYekygfQhsPcVtcBRngsaNWmnAfDZoAEuGwESCUiqDNTVXsUuQJGtncxxprhScSyJnQOaYAckIHjvCnbKmFEOVTKVjoKJoTVOkGqbbaKTLbwRQXhqhMGIGOGJHuRZWBzdxjrqpIcuGjwCPlMPowOYUHLsWbAYSZYuHqDlKklFAdlLuOFxZiBoMhnBGxCVleCgtgmWfQrHEdtZwmqhMegjRGQDhZcNYeIJeuITjPqfSCs" (16128 bytes omitted)
2023/03/16 07:55:23 http2: Framer 0xc000222000: read DATA stream=13 len=16384 data="qohFjsdYyIWVtHabJsUUUUyFnBWGBRcCyofmqksSrywRlTDpBRLqsopqbIMofKavfAoosRAgfPbIJMGWySeteBoepdsmznGyFIeYaPLlSRgWpYrfecHwloTeRahZCHKCWxCvoFIKGvCxAgpaCNOCAPVERfzAECbtOzLLXswVWzzIKZZuOsekkeAsKzcwLzxcLOsNjnJEHesaeCOVNtnRSxrEdjdHLwNXXApLjjcpgTcyiVSsWTzGjESBfVMtJDqf" (16128 bytes omitted)
2023/03/16 07:55:23 http2: Framer 0xc000222000: read DATA stream=13 len=16384 data="yFUtNnfOVTbpJfFWJgLcCdNxAlRmxkSboHiwvNraSfFQjKPWUnaafYeQRjvqPNTqzgLmFwChSecDTlnAGWYQgIDbIFpKWcmvqtdQCPBmckUGqPTMVyYivObWLccCWDSTbuPXehzLTZUFntMRqkbkuAiXIyVMPgTxhYbJCcQFiuiqjzLpaLqbJZJtOMtVxbeYcULNGDlLyrGGIriesInYBJZOtkxVGSrUPavoqHdlprPOWXDVeDYtoTEyIohZoLmm" (16128 bytes omitted)
2023/03/16 07:55:23 http2: Framer 0xc000222000: read DATA stream=13 len=16384 data="fjXjXkvsdkEYcSnLaTfDMeYQqlqAKpsViNuLjwVbzOIfUwVLYYMsZRoaFyruoPgCZfDgRfYPcjwgrQVBaWIwaDywwOTvmVZDIvdcXimrgmaSlQYXbzVnjZRjhxBGvzWjEqtMnEWhxIMjaDAWXXMuByIAHtRPYSAouZYHAYqBuPUSDDRjDUjltLxjzVyCHEOeARfAuWdLWUhJelIioaEHFfJlBJMoWmvYZjjakYmuRsRnySbrzOBSKLPOhObHzwWa" (16128 bytes omitted)
2023/03/16 07:55:23 http2: Framer 0xc000222000: read DATA stream=13 len=16384 data="TsfyQQQGsDeXdthPapnSMoPomGDeopSWWMvCVJVksHXRtAPyCWSpaFCXLHTSSDnOdBYuemFpOIaopKjYxRPQbhHAKrQDWBsyYRSCaXdhCbkOUOoIOZdWiemGWDJztgShELnxZPuwSEnBfwyCUcZLFpcJVyOLoGmMckjLRhjseHwMGcCIbMIOczgyLmQyDPEuJbjniQKvxPfWOHSlITGONbPWXFweVchSaMdJTvScdFebxUIYWZKVdYKQtGQNaLpZ" (16128 bytes omitted)
2023/03/16 07:55:23 http2: Framer 0xc000222000: read DATA stream=13 len=16384 data="yfwVSLlOrmpUdMfmOTCkxMFyuJmetanIfFGAXUDWBtLMsmuoZLKyyVWDRboAeUbOEVUNuGfegLvyWYfHYDGYyKYwNsrzWSaJYkfsZVkaGJcPlDusHXDpMJxZOTrsiwauWRJAYczvfhcrdojSPhWCEVmfRqEdMMuZgHcicwjTAUfuSrKtpNCDUCOqijbNusORQrtxBteVOXphMXfDDfRNqDNGwrgHJrXfPQFXsJjKsrgaFfxYSpAkfmQXLfowTdbn" (16128 bytes omitted)
2023/03/16 07:55:23 http2: Framer 0xc000222000: read DATA stream=13 len=16384 data="jjehWSqajrCRDkWFXwCWMDVeXvzqPGkIpBGZDOnlJCnZHoOJzseLGAFMVDFQRqTdhHlEhKLrpzsYujxeZJJAIjDNfNTrFcQteYgjJJTTgrzqAOAyDMseABFhbauAndDIZRuukKMhJFhaBPenGPZQMZhWWMxEAOqShwuajxFqJVsMyKHXoLoFmIJFUCQYvmTbYEggESgAKqIXwRFRqluQoSSQUGnToFiDpUJaXaUCwofdulYidgzgfQsBUetYCWxk" (16128 bytes omitted)
2023/03/16 07:55:23 http2: Framer 0xc000222000: read DATA stream=13 len=16384 data="DtihIYuimJzQgtRYDdohVBmvZbKhoMBpVzKNIKsimHnyXlWltMMVFznhlMLTaFBgUEuuiqBimciSJZDcXCrIwdFHZWSgdmqCLSzhXDRVTEarbZFwnmGFdTKkbWUQFcANovTqmLwjcCNAibBqKrpbHAfCuNfFUAaDXuIOdbPpYbIsmHRZJEHfFiUYKpzkIyrruAcdHHkLRPvMAfIKvCAzpozrxHTPtCidsWmrGXsSnmMToTCkAKQxfWsLauWELsav" (16128 bytes omitted)
2023/03/16 07:55:23 http2: Framer 0xc000222000: read DATA stream=13 len=16384 data="IiBEiBwtWSFthaCZWbPhMdWNEfjtdNXLsOPoZQvmdOercEnpMWSXiebCUEnCrPdWgnxRNZsLBxfzLIEoevLzMiFiUCKHBHuAuJeNmLXskExdLQGKugvNSJfCQldyWhiWIdBSynNJiSDBkiutwsnnPUvQECKByxbtKGyJUDFgGVksjFFdfkjRnPunBxwqOcmnbQyonbvMhDXFWKrYWFlWisvnkzzKPOSbKODmilteqcjRQgQBrgLQshUAcLAZhZvo" (16128 bytes omitted)
2023/03/16 07:55:23 http2: Framer 0xc000222000: read DATA stream=13 len=16384 data="EMhoiTVEHQQzunMSdiByrStKnoPHuZkUCUGWKPeSFSsHVXMCEMMEeoVwzGtNlPfqxCLrJGpszhfQcfngEwmBiywHEKHBFbOBNSGtWLqBJTgCtaVnjAOwJFFdsxwzyVUswXmqvzMuXcKWfKRwEePxmjQzaaoDddjhiyouDZmPwVUzlMrCVDwMDHVyDzMSgFVRnNpXlDuaAIhhftEfQDpyNdieaDGtoPJxoqoGrtvfvvdklZgDaftWDnFQIlaHXamC" (16128 bytes omitted)
2023/03/16 07:55:23 http2: Framer 0xc000222000: wrote WINDOW_UPDATE stream=13 len=4 incr=327680
2023/03/16 07:55:23 INFO: [transport] transport: loopyWriter exiting with error: write tcp4 127.0.0.1:51173->127.0.0.1:50052: write: broken pipe
2023/03/16 07:55:23 http2: Framer 0xc000222000: read DATA stream=13 len=16384 data="sTxcFAQalMJcEptyNcyaOXFLOyVPusOJinioNBQglKDsizoNItHLkaCIehKHFvvilDpKUSIVLfBipCvwphUeWpsAiRDbeuBKGQawTDBJsIeuIIGkTnTGTBDxCHYVquYFWcRyyQNxKldgXdoswXVjnLUBsiJZEIVCmZiPRDnGwKypGUErTTanplczoWiOCYSfuewFRQpMgffDKqnsKSIYSBMAUPtJbfOtEaKVcEENUkvDNZVcmZdbDAWppTGoUCRt" (16128 bytes omitted)
2023/03/16 07:55:23 http2: Framer 0xc000222000: read DATA stream=13 len=16384 data="YvnCIdTKtKHlodMFnOrjhVGzhrzupXuZlcfaOXNudFMNXESJkqvQkOtNCTNWIiPCiBmTrdLNtyZNGICEoqUTMVkToGNDUNTArsxorKyNBiWlIGIRWWNHIVxvdAAFiVEbUnsZQVPMVnlROJqmsHZOhrOXZXbFYDGZqhiZCVAWUivesvqpTURBiOMBjLVLBetpBIDzUdoARwUSKQwyvtZoSXxgPaGAkFUQiwdIeTKsmYtOJEPhCWLibTtieqtUFSYF" (16128 bytes omitted)
2023/03/16 07:55:23 http2: Framer 0xc000222000: read DATA stream=13 len=16384 data="vVTejTBluPonNroXcYDawRaOeUTuDXHARiKrADokCsTLXrLuqAheepcIWdfDCiEMjZcVqGIygBawnhkQixQkCWFmRPlDlsMqFzQybLnFvFDuDHXJsXiXYQycYdahYsrfKUwHcLDSAstjArwKdqqzNjwYYNstUGBfLrExFMowpYlmFUnDRybbPTVyCuvWXmMIExQsqyaEXfjUfYvKfEacVkbBpBLZDurXuCzcbsySCuruDUJJkpVIngzxxdAcrVck" (16128 bytes omitted)
2023/03/16 07:55:23 http2: Framer 0xc000222000: read DATA stream=13 len=16384 data="trcGuIhUoXIGGvFcNBEYdeWTQIAolBQnQLvAmgIUktzLlSkcmcPVMKucmflccDhpIZBkxrwZZfmvSIOPospNYcjQFbVspnCqJikKsAIgehOrysImTaTPTpIysXpoLVIgiiJpXCzPOuYmTXAWsqEyJMxEprMJjqoXRUmzHaOPelyiOxuOPpfjZOawhghdItyxLwRwFjccXFExvTgnzitlOvvCXPLkbYgRSDpupoMVutgcTjNPQqxwBQqPSQkVLppi" (16128 bytes omitted)
2023/03/16 07:55:23 http2: Framer 0xc000222000: read DATA stream=13 len=16384 data="zNFRlUthqGfMtVkRDCfzweZCRleGqmpAhRuHDupBqXzzDigZoFFMqCZotJChjRsVIJpUUorsNlnDxQXHgxvMBJANaiclubNKMEsGJGUMfBEYaqRAtmrNMhNpFtxgoCVaydHMavEruiKIxGTuJMwJWXGiNvwaAOqKYwQWbHMLOWOqbkaSYcrTgvbVCYxgWowlJwmRlJYTrQAgaCpFFdGiJGerDoBXwvNToBQVJMyZZLkMZawThAlQDetGrbQdtXCX" (16128 bytes omitted)
2023/03/16 07:55:23 http2: Framer 0xc000222000: read DATA stream=13 len=16384 data="LBMJwPOtByqMbPdCayNbPxWhslEOGESpdDQOYnJinzvwoGaNvQNEHFjILNeZRyHuSAuKmBODjRZWpfOegfTMlpssHjwgOWKZsZvGymmIogqcfsIhBjdcygsZfHJvyDYmupPpDOiaFqopsMiiSYlZqDRiYJalBHWQccZBsaYqIFpgLCIgNmqNPrbDgYzdRMLLuXjqPAQnzfgJznqohcouWoyWXayOLbxxTElnODfHwedQGLQXPTwIXGPDtjGnzVoM" (16128 bytes omitted)
2023/03/16 07:55:23 http2: Framer 0xc000222000: read DATA stream=13 len=16384 data="FglrujivTvAEXVLVrxyJzQbaMQsbtLoCNujyGVyCghrLcPgMUPpnoGDirzAREbWMnrJrfprjxosOcLdUjTivIXKzAgKxzVKVItkaXJBOEuCCLpTSJcFbDflcsmmOIFcjfVXWdZhrxcNdYacZEJhkIKpkgCZyTHbRXxhVUHQslKTIBFXjxHzrrOqFRufWcDNaJCjbAnXkqgexIFVqLZfNeNgnmMjEkImbsaFzFrFMKIrfFUBYPDyMqhNaPWyLCYKg" (16128 bytes omitted)
2023/03/16 07:55:23 http2: Framer 0xc000222000: read DATA stream=13 len=16384 data="EDYQrotooFFLDRGkqbcvBemnPEDCRTYbvONjeppdwjCLWrOANSYydhMAiVIkQoRiOxfAMwTNDHHaWBsiEwolYsfjdgLmvvrUoHKDKgWtPgsyGSkFczZExUMfwvBqwYZDJfqNBTTRBkVRlADupsclsLdxwsOqleRqvulRZamnkLPvDxyGDoYxbjynaavWWmHdfonWHOTQFwedoetPSCRMwypeUxVncjZUcuhQLEgmYuCawHmxfQjCnqlgNYEcFgAI" (16128 bytes omitted)
2023/03/16 07:55:23 http2: Framer 0xc000222000: read DATA stream=13 len=16384 data="XRBabkrVhkmRjtjNZbIbGYfZigMeyFFlnskgSZhkZpTPUvviDqfWkRDvwGYZjqScmEedOhaBbobKxtpSNMPajUJlELqRuNAzeflNZYVxbRsxNNUGLcICEeXwTJJpZwJDLaOVNSGnhoBQtaWwfzqZirtjwNsIgsGcEzQbQxPQfdqXzqxhFYOyYSXYmHkXaJMyOOsGxiGvQXtFiFxnrwVLuTaKzgDmlgmZqLtEmKuBQFLmbfVwXQerqRyWRxbOhsbA" (16128 bytes omitted)
2023/03/16 07:55:23 http2: Framer 0xc000222000: read DATA stream=13 len=16384 data="JanhlPggjsdOXGetwEnttZQwslnJPmctHIeuYDGFOquIoQvglYGVIyReZsDUVCBxRWIhOtMsyHfljLpGDVyloCsrmQGDHwvuducQtJhFtZfsYmheWYHnlWpQSRpZlvtnnnnhiWGyOGJdKjkIfRZTvNIsMwKOBAgoHfXWbAiUZNYbgRtZGlzQCSfHsADeWuIIjqXCSWQDrCCMiwpvTtsJkqsUbgtsGOzWJuRLoUlNarpSTspKVVMdxSekJYUUgDQc" (16128 bytes omitted)
2023/03/16 07:55:23 http2: Framer 0xc000222000: read DATA stream=13 len=16384 data="PcKnigfDyJwhkZYWhkmWWiDxOWqzlmnyBpPUqpipQdeHRurIjBdpQsoAWpYsjoolIAsrsttKGXUBGeinoNmxMPzQwNmsBNOCKlTEXiniLysJhkmeHUbPCESeszxzcxDZDxxCaltOWZgwJJBIxTmISHVPbLstHzVXgNqKNzSwxmtEmejLNqxqZaNneGGxrfIdVsqOUWugCkPoUitJWrMqtEoEFpIbHVfgLremugeXJyCqWckJwZqOAiCuQPFrwpwb" (16128 bytes omitted)
2023/03/16 07:55:23 http2: Framer 0xc000222000: read DATA stream=13 len=16384 data="FSKpYcwbEzWTgXpZhwhLUAcQPPZyRcYcqiptoHxTPpgnhtYxjFEfWmgTbTuYVUwWrOyCFCMiXCyByZkLajKSjhCgbhPWpgIxJdWsoudBVcFvrbMSBoIeUfBxtvLINlHQGEbaUwEqUbYioyqXXLmEYgcENKSkSzWFNnlTWIbxVlpInzLeTKeJsXRKZptVdWrXaNiyAleasnIvEuYMvbtmCvmQitasgotvWWvrZxCqaMbNynxlOvXohUqDyihaMoYX" (16128 bytes omitted)
2023/03/16 07:55:23 http2: Framer 0xc000222000: read DATA stream=13 len=16384 data="ubUfdihSDMYktGnifevvoFGsfBghKTuDPjhORYjjcGIXWEKDafErdcqjfGTNySsmVdnJOQhxXDQxpdRgCZfhzuUJTJTNTvnBmzlUlqbdSBOYBiXAjxkHUIAmadpYkHMFJQLvdLPpEouXvBFauIqINtCOKGCPELfdGIbbGMTTmhgSJkbyrdXItcDVxQKHJyKBvZNGxLkbAMDoIIdcoOMTQDzALRaOWONpQsYPjdjvimZGYdFiTQTMhXpwEdEBIIqm" (16128 bytes omitted)
2023/03/16 07:55:23 http2: Framer 0xc000222000: read DATA stream=13 len=16384 data="GpYJsumhGEchorMzjioYTQLqyNXHxCmKmLdOzJQxbOwggKPpNKwZTGDFDovGEzOwVzqlfRwydPuYomfQxYxsLEpGzRJIpHnhMSGraGKaKJvyKNExTgxUxtqziPYKtMOfzozBpqyHmVzbhKNrabjlbgjPctoRaSeJMtxyyQilmayuSWLiDPXNCmKVCvJRNpowcXxIdwbZdbWeUBLeiFkSqlyQOLcXGZVVQMwUKQotvgASBdQQcLbakUDWcMGsuCWH" (16128 bytes omitted)
2023/03/16 07:55:23 INFO: [transport] transport: closing: connection error: desc = "error reading from server: read tcp4 127.0.0.1:51173->127.0.0.1:50052: read: connection reset by peer"
2023/03/16 07:55:23 unexpected error from UnaryEcho: rpc error: code = Unavailable desc = closing transport due to: connection error: desc = "error reading from server: read tcp4 127.0.0.1:51173->127.0.0.1:50052: read: connection reset by peer", received prior goaway: code: NO_ERROR

server log (from example code)

2023/03/16 07:55:22 http2: Framer 0xc0002800e0: wrote GOAWAY len=8 LastStreamID=2147483647 ErrCode=NO_ERROR Debug=""
2023/03/16 07:55:22 http2: Framer 0xc0002800e0: wrote PING len=8 ping="\x01\x06\x01\b\x00\x03\x03\t"
2023/03/16 07:55:23 http2: Framer 0xc0002800e0: read HEADERS flags=END_HEADERS stream=13 len=7
2023/03/16 07:55:23 http2: decoded hpack field header field ":method" = "POST"
2023/03/16 07:55:23 http2: decoded hpack field header field ":scheme" = "http"
2023/03/16 07:55:23 http2: decoded hpack field header field ":path" = "/grpc.examples.echo.Echo/UnaryEcho"
2023/03/16 07:55:23 http2: decoded hpack field header field ":authority" = "localhost:50052"
2023/03/16 07:55:23 http2: decoded hpack field header field "content-type" = "application/grpc"
2023/03/16 07:55:23 http2: decoded hpack field header field "user-agent" = "grpc-go/1.54.0-dev"
2023/03/16 07:55:23 http2: decoded hpack field header field "te" = "trailers"
2023/03/16 07:55:23 http2: Framer 0xc0002800e0: read DATA flags=END_STREAM stream=13 len=21 data="\x00\x00\x00\x00\x10\n\x0ekeepalive demo"
2023/03/16 07:55:23 http2: Framer 0xc0002800e0: wrote WINDOW_UPDATE len=4 (conn) incr=21
2023/03/16 07:55:23 http2: Framer 0xc0002800e0: wrote PING len=8 ping="\x02\x04\x10\x10\t\x0e\a\a"
2023/03/16 07:55:23 http2: Framer 0xc0002800e0: wrote HEADERS flags=END_HEADERS stream=13 len=2
2023/03/16 07:55:23 http2: Framer 0xc0002800e0: wrote DATA stream=13 len=16384 data="\x00\x00\t\x9d\x02\n\xfe\xb9&keepalive demoFfirkNgOEGzjPjMVSKCdcsqNLzovTyozSLtFNVrmeTfgDIxdlgeVgmRvgepkmegFTXUHMvbtclDghVQTYkNalzVaTnWECmuLJXEeBMKUyjgZutPmpoeLmamPVEFEhqqTSkRshdDxdzKwDlYBVNxMvuKbUGQhpGOSOlBLOeskdqocefmLZKtEPLngToLfARYTmBONvZzhHYdiQPBvYpazPtTvvHCKuQFWqPdOxlkmD" (16128 bytes omitted)
2023/03/16 07:55:23 http2: Framer 0xc0002800e0: wrote DATA stream=13 len=16384 data="hcSoOIlKbLRvwTGqgiasBjoqrvKLYmBkZakMUhwBKInmxIxHWFXayYHpWtHXJrdTvlzfzvIAlffOlnhTUuwZauOSllYBcdxENxmzZpVaKhbEZRtvtLRtMvLSGajFzZcXVqykWVHInfkoRHLYtmaNshleEhoTTDrjCVMUkZwQMwYAJZQsVfOdPPZXKkMpPfsAsyxeTRzXFDhWWtQPCAFNYZIOKDaTOTOkySvxgYVLVIrFkCcnUmIErjgfmYoJpxLI" (16128 bytes omitted)
2023/03/16 07:55:23 http2: Framer 0xc0002800e0: wrote DATA stream=13 len=16384 data="suUqHyKcKcmyMXtmAjmfmxxaQWxnHRPUbvWwuIWRPWAqtkDAVzdxlBDtRnBAMrfUedkpMpYAuWunEGtbzfhiBEPDZUYhNmvWuYQXKjpeuJLGIQEAjngZEvVnHGiqGxajPwZJihNELeZSBCPGefOJRJGEXXSPmdDoSiKPVSDwrngfABxDAucSbqiJaxlghYKccfxGMRbjUAHYsVLxDlfnWKhLHaaddwKISuzgzDDOfJMdPMxsnrBFxVOxJOKbiHNo" (16128 bytes omitted)
2023/03/16 07:55:23 http2: Framer 0xc0002800e0: wrote DATA stream=13 len=16384 data="SlhgjjAXeBfvoyIWkLMACCpBUlVHgowTqTLRMEKhxbpjZIRgwgYQHoRsuAEeeDdePjuLViFWKlRBkddsCvMhQHWCxQctXgFMhEdksBrjLlULBAAyIxvBKUXHhCPAoEaDzwDomOKSQnKQAsuttpQynobuaKRnBNpjQIyuuHvfZZXFOsdntSPMMtHVQyBwjvqtRFqVSqWMbIWCxhUtjPinPelMZVRLCMsIGTlkbcruHNRfKtmAwJdmAOjxYDicAHEF" (16128 bytes omitted)
2023/03/16 07:55:23 http2: Framer 0xc0002800e0: wrote DATA stream=13 len=16384 data="VXqfeVtCgTWDVMoWtIMFdUfkxxfiAJZORRuUDGVACEJiiVQTFMewqYtRjtNWFkbUceApWGRejOiBWAEvWKZdeyFElQkbwNvUnTzjcgbozTqpUIxKlxzUxQDJZIAoCVlWVXRCqdqCaZTQHKNJjDtTlpiCJfLxIJKNbvlYmYKKoyRosLbINyRyDxzxoXnbmXBYWCQsZtziWqEGeOzzVEjniyFxQiyQZBpptYKmniMCpWmmdxcMXEYSdRslaoUvYVyg" (16128 bytes omitted)
2023/03/16 07:55:23 http2: Framer 0xc0002800e0: wrote DATA stream=13 len=16384 data="lLdjeqLBOACGRfPuavrIywgbaTBiPkCAvEVMUPOfLYOOHvZjIaySorzbvlcMspFPPWBVfHcxJuiCCbCiqpkewyEMbUcyOYtscdsofDMjQuiCiSkdmbyldojJWPtbmRjExTpnQVUwVataGxJpqURvQeRjKLlukKVrqVJKDAGCxZePjWGuGZVsPoXQwvdaLHnWfCoIzGWGHPvcXlBjovFervlljdcwHelvVgnDpsqEIVVFJqtDagsFpJNthnuHuHPi" (16128 bytes omitted)
2023/03/16 07:55:23 http2: Framer 0xc0002800e0: wrote DATA stream=13 len=16384 data="RPgIlupBhvZlMozAAxzoajFRbcgXqhyaVJHeQdZheRJqzDqXdfhLyndKxkWNykcRBykBuDQCwkJRHnoRIAzNibtqYqkfOTDFLJBAdzEjtufWmwwpZRrpEOonVbcLgvQvNYcKhcCeQysMlxWlrnfFgpwMppOMyNxewBISLioHYsmqVPgYyxkRSxhjnqjUslvLODyvDdeJzCoYhrdxYWMusKzlRchpYJKmvYhQiWZDcAPxpIUtgtumBzditbsoFCPT" (16128 bytes omitted)
2023/03/16 07:55:23 http2: Framer 0xc0002800e0: wrote DATA stream=13 len=16384 data="gAMLNosIncdRsnrXKwyOdkUzgAQwGvgLwRERbbetHHIyxEvaoEBiTylNqAUIOzkfvYoPdTwkYfAjwcoTpVFhMgKVkhWjiOzJHdrbXhtjklEtJUqRltpWSBbtqQqIuBXSZMKXMAoHPGpCZHbgnuVTFiooFbkBSgfFchNXSyXvaVZYJHcMEmZjiGVFZWNtcYqgXLTdeCwAfAnBYHGyVPIBHKpXUxFfUjYTFLPAooXWnUMEhUaUzVmRnZpxwzdUtCJl" (16128 bytes omitted)
2023/03/16 07:55:23 http2: Framer 0xc0002800e0: wrote DATA stream=13 len=16384 data="zVkjbiJcVYWuoIqhXpwfJxtIaRPHtgCWlfUViPcvZlNhYiuBmVcrluBQjzmvDjvtEsRJyhsvnqyQaxcctkTwDRsOTfcKKuhhpabuWaONXeqQCdCUNjfaREnCfqCZHPuiSldqbVDsBYrxuGjXsBqUJbmjUvKkgBFgKKKpiNxqdfjNoVKgNZqqiblpaEUjBSAMRkSMPRKoFVQOHtKzCgvDSzkUYFEgWBVONMqRzVjpDiiwsHIizZQEDJAJvLqQycyw" (16128 bytes omitted)
2023/03/16 07:55:23 http2: Framer 0xc0002800e0: wrote DATA stream=13 len=16384 data="FOlWHahmqsxqVqltAkaKwVFCvVNPOudWBYqrCRliaaGHLhOWxiSXklCDzHvFnAeFykkcQTxggEVLVkIajULEuEqjYJzSTXowSehoExxzWmLitRNjYAyJVkhjWAMQBPzQFwLGIyRkaDqitZGKlIeAbsaDzmfqsqiYgZWfclzRgsiyVixTqTbZjVFTLajvBnhGGJbFyimuiZDtJnabLxZrAUwcRYtPvbHxJPNOMQsOBSouBUuuHgIgZeyheOxOCcwK" (16128 bytes omitted)
2023/03/16 07:55:23 http2: Framer 0xc0002800e0: wrote DATA stream=13 len=16384 data="CDYoCGFGPnCIldRWIQmitYekygfQhsPcVtcBRngsaNWmnAfDZoAEuGwESCUiqDNTVXsUuQJGtncxxprhScSyJnQOaYAckIHjvCnbKmFEOVTKVjoKJoTVOkGqbbaKTLbwRQXhqhMGIGOGJHuRZWBzdxjrqpIcuGjwCPlMPowOYUHLsWbAYSZYuHqDlKklFAdlLuOFxZiBoMhnBGxCVleCgtgmWfQrHEdtZwmqhMegjRGQDhZcNYeIJeuITjPqfSCs" (16128 bytes omitted)
2023/03/16 07:55:23 http2: Framer 0xc0002800e0: wrote DATA stream=13 len=16384 data="qohFjsdYyIWVtHabJsUUUUyFnBWGBRcCyofmqksSrywRlTDpBRLqsopqbIMofKavfAoosRAgfPbIJMGWySeteBoepdsmznGyFIeYaPLlSRgWpYrfecHwloTeRahZCHKCWxCvoFIKGvCxAgpaCNOCAPVERfzAECbtOzLLXswVWzzIKZZuOsekkeAsKzcwLzxcLOsNjnJEHesaeCOVNtnRSxrEdjdHLwNXXApLjjcpgTcyiVSsWTzGjESBfVMtJDqf" (16128 bytes omitted)
2023/03/16 07:55:23 http2: Framer 0xc0002800e0: wrote DATA stream=13 len=16384 data="yFUtNnfOVTbpJfFWJgLcCdNxAlRmxkSboHiwvNraSfFQjKPWUnaafYeQRjvqPNTqzgLmFwChSecDTlnAGWYQgIDbIFpKWcmvqtdQCPBmckUGqPTMVyYivObWLccCWDSTbuPXehzLTZUFntMRqkbkuAiXIyVMPgTxhYbJCcQFiuiqjzLpaLqbJZJtOMtVxbeYcULNGDlLyrGGIriesInYBJZOtkxVGSrUPavoqHdlprPOWXDVeDYtoTEyIohZoLmm" (16128 bytes omitted)
2023/03/16 07:55:23 http2: Framer 0xc0002800e0: wrote DATA stream=13 len=16384 data="fjXjXkvsdkEYcSnLaTfDMeYQqlqAKpsViNuLjwVbzOIfUwVLYYMsZRoaFyruoPgCZfDgRfYPcjwgrQVBaWIwaDywwOTvmVZDIvdcXimrgmaSlQYXbzVnjZRjhxBGvzWjEqtMnEWhxIMjaDAWXXMuByIAHtRPYSAouZYHAYqBuPUSDDRjDUjltLxjzVyCHEOeARfAuWdLWUhJelIioaEHFfJlBJMoWmvYZjjakYmuRsRnySbrzOBSKLPOhObHzwWa" (16128 bytes omitted)
2023/03/16 07:55:23 http2: Framer 0xc0002800e0: wrote DATA stream=13 len=16384 data="TsfyQQQGsDeXdthPapnSMoPomGDeopSWWMvCVJVksHXRtAPyCWSpaFCXLHTSSDnOdBYuemFpOIaopKjYxRPQbhHAKrQDWBsyYRSCaXdhCbkOUOoIOZdWiemGWDJztgShELnxZPuwSEnBfwyCUcZLFpcJVyOLoGmMckjLRhjseHwMGcCIbMIOczgyLmQyDPEuJbjniQKvxPfWOHSlITGONbPWXFweVchSaMdJTvScdFebxUIYWZKVdYKQtGQNaLpZ" (16128 bytes omitted)
2023/03/16 07:55:23 http2: Framer 0xc0002800e0: wrote DATA stream=13 len=16384 data="yfwVSLlOrmpUdMfmOTCkxMFyuJmetanIfFGAXUDWBtLMsmuoZLKyyVWDRboAeUbOEVUNuGfegLvyWYfHYDGYyKYwNsrzWSaJYkfsZVkaGJcPlDusHXDpMJxZOTrsiwauWRJAYczvfhcrdojSPhWCEVmfRqEdMMuZgHcicwjTAUfuSrKtpNCDUCOqijbNusORQrtxBteVOXphMXfDDfRNqDNGwrgHJrXfPQFXsJjKsrgaFfxYSpAkfmQXLfowTdbn" (16128 bytes omitted)
2023/03/16 07:55:23 http2: Framer 0xc0002800e0: wrote DATA stream=13 len=16384 data="jjehWSqajrCRDkWFXwCWMDVeXvzqPGkIpBGZDOnlJCnZHoOJzseLGAFMVDFQRqTdhHlEhKLrpzsYujxeZJJAIjDNfNTrFcQteYgjJJTTgrzqAOAyDMseABFhbauAndDIZRuukKMhJFhaBPenGPZQMZhWWMxEAOqShwuajxFqJVsMyKHXoLoFmIJFUCQYvmTbYEggESgAKqIXwRFRqluQoSSQUGnToFiDpUJaXaUCwofdulYidgzgfQsBUetYCWxk" (16128 bytes omitted)
2023/03/16 07:55:23 http2: Framer 0xc0002800e0: wrote DATA stream=13 len=16384 data="DtihIYuimJzQgtRYDdohVBmvZbKhoMBpVzKNIKsimHnyXlWltMMVFznhlMLTaFBgUEuuiqBimciSJZDcXCrIwdFHZWSgdmqCLSzhXDRVTEarbZFwnmGFdTKkbWUQFcANovTqmLwjcCNAibBqKrpbHAfCuNfFUAaDXuIOdbPpYbIsmHRZJEHfFiUYKpzkIyrruAcdHHkLRPvMAfIKvCAzpozrxHTPtCidsWmrGXsSnmMToTCkAKQxfWsLauWELsav" (16128 bytes omitted)
2023/03/16 07:55:23 http2: Framer 0xc0002800e0: wrote DATA stream=13 len=16384 data="IiBEiBwtWSFthaCZWbPhMdWNEfjtdNXLsOPoZQvmdOercEnpMWSXiebCUEnCrPdWgnxRNZsLBxfzLIEoevLzMiFiUCKHBHuAuJeNmLXskExdLQGKugvNSJfCQldyWhiWIdBSynNJiSDBkiutwsnnPUvQECKByxbtKGyJUDFgGVksjFFdfkjRnPunBxwqOcmnbQyonbvMhDXFWKrYWFlWisvnkzzKPOSbKODmilteqcjRQgQBrgLQshUAcLAZhZvo" (16128 bytes omitted)
2023/03/16 07:55:23 http2: Framer 0xc0002800e0: wrote DATA stream=13 len=16384 data="EMhoiTVEHQQzunMSdiByrStKnoPHuZkUCUGWKPeSFSsHVXMCEMMEeoVwzGtNlPfqxCLrJGpszhfQcfngEwmBiywHEKHBFbOBNSGtWLqBJTgCtaVnjAOwJFFdsxwzyVUswXmqvzMuXcKWfKRwEePxmjQzaaoDddjhiyouDZmPwVUzlMrCVDwMDHVyDzMSgFVRnNpXlDuaAIhhftEfQDpyNdieaDGtoPJxoqoGrtvfvvdklZgDaftWDnFQIlaHXamC" (16128 bytes omitted)
2023/03/16 07:55:23 http2: Framer 0xc0002800e0: wrote DATA stream=13 len=16384 data="sTxcFAQalMJcEptyNcyaOXFLOyVPusOJinioNBQglKDsizoNItHLkaCIehKHFvvilDpKUSIVLfBipCvwphUeWpsAiRDbeuBKGQawTDBJsIeuIIGkTnTGTBDxCHYVquYFWcRyyQNxKldgXdoswXVjnLUBsiJZEIVCmZiPRDnGwKypGUErTTanplczoWiOCYSfuewFRQpMgffDKqnsKSIYSBMAUPtJbfOtEaKVcEENUkvDNZVcmZdbDAWppTGoUCRt" (16128 bytes omitted)
2023/03/16 07:55:23 http2: Framer 0xc0002800e0: wrote DATA stream=13 len=16384 data="YvnCIdTKtKHlodMFnOrjhVGzhrzupXuZlcfaOXNudFMNXESJkqvQkOtNCTNWIiPCiBmTrdLNtyZNGICEoqUTMVkToGNDUNTArsxorKyNBiWlIGIRWWNHIVxvdAAFiVEbUnsZQVPMVnlROJqmsHZOhrOXZXbFYDGZqhiZCVAWUivesvqpTURBiOMBjLVLBetpBIDzUdoARwUSKQwyvtZoSXxgPaGAkFUQiwdIeTKsmYtOJEPhCWLibTtieqtUFSYF" (16128 bytes omitted)
2023/03/16 07:55:23 http2: Framer 0xc0002800e0: wrote DATA stream=13 len=16384 data="vVTejTBluPonNroXcYDawRaOeUTuDXHARiKrADokCsTLXrLuqAheepcIWdfDCiEMjZcVqGIygBawnhkQixQkCWFmRPlDlsMqFzQybLnFvFDuDHXJsXiXYQycYdahYsrfKUwHcLDSAstjArwKdqqzNjwYYNstUGBfLrExFMowpYlmFUnDRybbPTVyCuvWXmMIExQsqyaEXfjUfYvKfEacVkbBpBLZDurXuCzcbsySCuruDUJJkpVIngzxxdAcrVck" (16128 bytes omitted)
2023/03/16 07:55:23 http2: Framer 0xc0002800e0: wrote DATA stream=13 len=16384 data="trcGuIhUoXIGGvFcNBEYdeWTQIAolBQnQLvAmgIUktzLlSkcmcPVMKucmflccDhpIZBkxrwZZfmvSIOPospNYcjQFbVspnCqJikKsAIgehOrysImTaTPTpIysXpoLVIgiiJpXCzPOuYmTXAWsqEyJMxEprMJjqoXRUmzHaOPelyiOxuOPpfjZOawhghdItyxLwRwFjccXFExvTgnzitlOvvCXPLkbYgRSDpupoMVutgcTjNPQqxwBQqPSQkVLppi" (16128 bytes omitted)
2023/03/16 07:55:23 http2: Framer 0xc0002800e0: wrote DATA stream=13 len=16384 data="zNFRlUthqGfMtVkRDCfzweZCRleGqmpAhRuHDupBqXzzDigZoFFMqCZotJChjRsVIJpUUorsNlnDxQXHgxvMBJANaiclubNKMEsGJGUMfBEYaqRAtmrNMhNpFtxgoCVaydHMavEruiKIxGTuJMwJWXGiNvwaAOqKYwQWbHMLOWOqbkaSYcrTgvbVCYxgWowlJwmRlJYTrQAgaCpFFdGiJGerDoBXwvNToBQVJMyZZLkMZawThAlQDetGrbQdtXCX" (16128 bytes omitted)
2023/03/16 07:55:23 http2: Framer 0xc0002800e0: wrote DATA stream=13 len=16384 data="LBMJwPOtByqMbPdCayNbPxWhslEOGESpdDQOYnJinzvwoGaNvQNEHFjILNeZRyHuSAuKmBODjRZWpfOegfTMlpssHjwgOWKZsZvGymmIogqcfsIhBjdcygsZfHJvyDYmupPpDOiaFqopsMiiSYlZqDRiYJalBHWQccZBsaYqIFpgLCIgNmqNPrbDgYzdRMLLuXjqPAQnzfgJznqohcouWoyWXayOLbxxTElnODfHwedQGLQXPTwIXGPDtjGnzVoM" (16128 bytes omitted)
2023/03/16 07:55:23 http2: Framer 0xc0002800e0: wrote DATA stream=13 len=16384 data="FglrujivTvAEXVLVrxyJzQbaMQsbtLoCNujyGVyCghrLcPgMUPpnoGDirzAREbWMnrJrfprjxosOcLdUjTivIXKzAgKxzVKVItkaXJBOEuCCLpTSJcFbDflcsmmOIFcjfVXWdZhrxcNdYacZEJhkIKpkgCZyTHbRXxhVUHQslKTIBFXjxHzrrOqFRufWcDNaJCjbAnXkqgexIFVqLZfNeNgnmMjEkImbsaFzFrFMKIrfFUBYPDyMqhNaPWyLCYKg" (16128 bytes omitted)
2023/03/16 07:55:23 http2: Framer 0xc0002800e0: wrote DATA stream=13 len=16384 data="EDYQrotooFFLDRGkqbcvBemnPEDCRTYbvONjeppdwjCLWrOANSYydhMAiVIkQoRiOxfAMwTNDHHaWBsiEwolYsfjdgLmvvrUoHKDKgWtPgsyGSkFczZExUMfwvBqwYZDJfqNBTTRBkVRlADupsclsLdxwsOqleRqvulRZamnkLPvDxyGDoYxbjynaavWWmHdfonWHOTQFwedoetPSCRMwypeUxVncjZUcuhQLEgmYuCawHmxfQjCnqlgNYEcFgAI" (16128 bytes omitted)
2023/03/16 07:55:23 http2: Framer 0xc0002800e0: wrote DATA stream=13 len=16384 data="XRBabkrVhkmRjtjNZbIbGYfZigMeyFFlnskgSZhkZpTPUvviDqfWkRDvwGYZjqScmEedOhaBbobKxtpSNMPajUJlELqRuNAzeflNZYVxbRsxNNUGLcICEeXwTJJpZwJDLaOVNSGnhoBQtaWwfzqZirtjwNsIgsGcEzQbQxPQfdqXzqxhFYOyYSXYmHkXaJMyOOsGxiGvQXtFiFxnrwVLuTaKzgDmlgmZqLtEmKuBQFLmbfVwXQerqRyWRxbOhsbA" (16128 bytes omitted)
2023/03/16 07:55:23 http2: Framer 0xc0002800e0: wrote DATA stream=13 len=16384 data="JanhlPggjsdOXGetwEnttZQwslnJPmctHIeuYDGFOquIoQvglYGVIyReZsDUVCBxRWIhOtMsyHfljLpGDVyloCsrmQGDHwvuducQtJhFtZfsYmheWYHnlWpQSRpZlvtnnnnhiWGyOGJdKjkIfRZTvNIsMwKOBAgoHfXWbAiUZNYbgRtZGlzQCSfHsADeWuIIjqXCSWQDrCCMiwpvTtsJkqsUbgtsGOzWJuRLoUlNarpSTspKVVMdxSekJYUUgDQc" (16128 bytes omitted)
2023/03/16 07:55:23 http2: Framer 0xc0002800e0: wrote DATA stream=13 len=16384 data="PcKnigfDyJwhkZYWhkmWWiDxOWqzlmnyBpPUqpipQdeHRurIjBdpQsoAWpYsjoolIAsrsttKGXUBGeinoNmxMPzQwNmsBNOCKlTEXiniLysJhkmeHUbPCESeszxzcxDZDxxCaltOWZgwJJBIxTmISHVPbLstHzVXgNqKNzSwxmtEmejLNqxqZaNneGGxrfIdVsqOUWugCkPoUitJWrMqtEoEFpIbHVfgLremugeXJyCqWckJwZqOAiCuQPFrwpwb" (16128 bytes omitted)
2023/03/16 07:55:23 http2: Framer 0xc0002800e0: wrote DATA stream=13 len=16384 data="FSKpYcwbEzWTgXpZhwhLUAcQPPZyRcYcqiptoHxTPpgnhtYxjFEfWmgTbTuYVUwWrOyCFCMiXCyByZkLajKSjhCgbhPWpgIxJdWsoudBVcFvrbMSBoIeUfBxtvLINlHQGEbaUwEqUbYioyqXXLmEYgcENKSkSzWFNnlTWIbxVlpInzLeTKeJsXRKZptVdWrXaNiyAleasnIvEuYMvbtmCvmQitasgotvWWvrZxCqaMbNynxlOvXohUqDyihaMoYX" (16128 bytes omitted)
2023/03/16 07:55:23 http2: Framer 0xc0002800e0: wrote DATA stream=13 len=16384 data="ubUfdihSDMYktGnifevvoFGsfBghKTuDPjhORYjjcGIXWEKDafErdcqjfGTNySsmVdnJOQhxXDQxpdRgCZfhzuUJTJTNTvnBmzlUlqbdSBOYBiXAjxkHUIAmadpYkHMFJQLvdLPpEouXvBFauIqINtCOKGCPELfdGIbbGMTTmhgSJkbyrdXItcDVxQKHJyKBvZNGxLkbAMDoIIdcoOMTQDzALRaOWONpQsYPjdjvimZGYdFiTQTMhXpwEdEBIIqm" (16128 bytes omitted)
2023/03/16 07:55:23 http2: Framer 0xc0002800e0: wrote DATA stream=13 len=16384 data="GpYJsumhGEchorMzjioYTQLqyNXHxCmKmLdOzJQxbOwggKPpNKwZTGDFDovGEzOwVzqlfRwydPuYomfQxYxsLEpGzRJIpHnhMSGraGKaKJvyKNExTgxUxtqziPYKtMOfzozBpqyHmVzbhKNrabjlbgjPctoRaSeJMtxyyQilmayuSWLiDPXNCmKVCvJRNpowcXxIdwbZdbWeUBLeiFkSqlyQOLcXGZVVQMwUKQotvgASBdQQcLbakUDWcMGsuCWH" (16128 bytes omitted)
2023/03/16 07:55:23 http2: Framer 0xc0002800e0: wrote DATA stream=13 len=16384 data="aeDYDvPNHAnFixhjXWcjbYMLmPOiUtqdSNKpQMUfNZIxXpxkwrqSrwVnqHNCrQTZPUcMVqCCQfKNxoZyMGtOoIUInMCzyBBEQdzokzUdQGjoJWuachNLUpCMWjKQRJaJRGRtRIFVAPGqijqyUZJpGPSlMmxodawVkALrBLWmzeucvIBoBJRNOfAQnVyiKaaEDYMylyoSipNgWyBZXIMWoWphaSCNtAbiWcuSMkflkOJyacGnwkybYMDcFqDYaBcC" (16128 bytes omitted)
2023/03/16 07:55:23 http2: Framer 0xc0002800e0: wrote DATA stream=13 len=16384 data="mNiaWmoMZqFtiuWhzPhBwfdrGezcvXSbsFcsCFXIrHxrLHvogGRUOsbHzDgWYLLMJAslbyFHnVUDXIqYVQcUalxJzWKZRjcPzLYlScAXmxPTlpIVZnKchQBYVpIdAcEpdzQYkVNzEkrXAaJNUgHTHkZNKsaCMlFOQXRgCyktDYEmHEcNBbfFTmRoaYgPFmyfMrCCnYUXtXYcuMEacNwOwSSxAFckHdiBQJElJaLoyZiEizRkoSeUeWErzzOXYYrW" (16128 bytes omitted)
2023/03/16 07:55:23 http2: Framer 0xc0002800e0: wrote DATA stream=13 len=16384 data="mBRXZLCuTZylGZVlDjWJqdIgXsbNKfRYmnuTjhYnZVNHTbXzfNMsjeDnpqlLVlnOpEIkgUsgnZgkuFErkmdeugWIejYAWgaFbuxdbMWqAKbqsMYVLNsbEdVwqgKkepOiJrrrQjbSLMywpoqFETfFWOQiefavSTENmqVCkeySKpjCcVizYKExGLShrjXjnIzBdpjpffAyhfPRVCpSmCaeleRCbVDFVbGEyLcSazIYkPbhbsfLeiHyVJsYSAFATwlE" (16128 bytes omitted)
2023/03/16 07:55:23 http2: Framer 0xc0002800e0: wrote DATA stream=13 len=16384 data="SkiylfPJtxUkiaAjbhGcDcjvttiGKnapdFnWrDPbyrDXHJuqPmMSdMmPrKVTdqxEFSwlylZbuJoFHZsvKyTDMSJtTCbtlrzCJnaopXRBSUOzcCNoflsNDaDSSWEtzczIHkOhgTdUHjKMgljrwuaDtnXFCArTAKTghqEAvRapdkuUlQrGmBXJKlMUYNAxrFFgChJUfrSmTICmMBNyOWKQKmcQrMJaVGTeRemYUgxDuBlhSjrudwhDcPiXANxZCJak" (16128 bytes omitted)
2023/03/16 07:55:23 http2: Framer 0xc0002800e0: wrote DATA stream=13 len=7431 data="bXHNFjhjHnbiACjizsSKqUYegJMnxzEIJloFAboRyJXwCavenhEkkbCgAeMvltFFcvhxoKmUEQhydfDWegnSmWyezXTbXgtcaRytpqRLtgBDWJsyCVrgXxiKcvOHlbUyxezGirsIjuPAHvEIGkAqmTThhKHpTRUvtaGjGqKftldvCOOtXOtkAXRmAzglLjSEJSyInSFrWVDywJvsfxrLEGszgHUieqPcctMtzVsfMjpAUmeJrpjwgvzPaaWDOQgn" (7175 bytes omitted)
2023/03/16 07:55:23 http2: Framer 0xc0002800e0: wrote HEADERS flags=END_STREAM|END_HEADERS stream=13 len=2
2023/03/16 07:55:23 http2: Framer 0xc0002800e0: read PING flags=ACK len=8 ping="\x01\x06\x01\b\x00\x03\x03\t"
2023/03/16 07:55:23 http2: Framer 0xc0002800e0: wrote GOAWAY len=8 LastStreamID=13 ErrCode=NO_ERROR Debug=""
2023/03/16 07:55:23 INFO: [transport] transport: loopyWriter exiting with error: second GOAWAY written and no active streams left to process
2023/03/16 07:55:23 INFO: [transport] transport: closing: read tcp 127.0.0.1:50052->127.0.0.1:51173: use of closed network connection
2023/03/16 07:55:23 INFO: [transport] transport: error closing conn during Close: close tcp 127.0.0.1:50052->127.0.0.1:51173: use of closed network connection

@hiyosi
Copy link
Author

hiyosi commented Mar 15, 2023

I also built real-world application with grpc-go HEAD and deployed it, then I can find the error still.

@hiyosi
Copy link
Author

hiyosi commented Mar 15, 2023

@dfawley Can I reopen this issue?

@dfawley
Copy link
Member

dfawley commented Mar 31, 2023

I'm able to reproduce the problem, still.

However, when moving the client & server into the same binary, the problem seemed to go away. It may have something to do with how the TCP connection is handled. I need to debug more.

@Ghilteras
Copy link

Ghilteras commented Jul 19, 2023

Is there any traction on this issue? We have a similar issue in our production where our grpc client receives a lot of received prior goaway: code: NO_ERROR and we don't understand why the server is sending them, is there any knob we can turn to make this go away? This is how we construct the grpc server

        grpcSrv := grpc.NewServer(
		grpc.StatsHandler(&ocgrpc.ServerHandler{}),
		grpc.KeepaliveParams(keepalive.ServerParameters{
			MaxConnectionIdle: 5 * time.Minute,
		}),
	)

could the problem be MaxConnectionIdle? My understanding is that happens only when the connection is idle, but the moment this happens the clients then start throwing hundreds of connection reset by peer errors, which does not make sense to me because evidently the client needed to negotiate a new connection, but instead it gets tons of connection reset by peer after GOAWAY

Why does this happen?

@arvindbr8
Copy link
Member

Hi @Ghilteras, This is not expected. The client should essentially try to create a new connection with the server. We are still looking into this. I will keep you posted. Could you add some logs to this issue which could help us with debugging

@Ghilteras
Copy link

I think in my case this happens because there is an NGINX ingress between the GRPC server and the client, so in my case it's more related to this kubernetes/ingress-nginx#8973

@hemeimei
Copy link

hemeimei commented Sep 20, 2023

Hi @hiyosi , I used the following server configuration and the problem was not reproduced within 4 hours.

var kasp = keepalive.ServerParameters{
	//MaxConnectionAge: 10 * time.Second,
	MaxConnectionIdle: 1 * time.Second,
}

@appuser999
Copy link

appuser999 commented Oct 16, 2023

same issue here.
version: google.golang.org/grpc v1.55.0
grpc client:

KeepAlivceParameters: keepalive.ClientParameters{
  Time:                120 * time.Second,      // send pings every 120 seconds if there is no activity
  Timeout:            10 * time.Second, // wait 10 second for ping ack before considering the connection dead
  PermitWithoutStream: true,                                                          // send pings even without active streams
}

grpc server:

grpc.KeepaliveParams(keepalive.ServerParameters{
  MaxConnectionAge: time.Minute * time.Duration(2),
  Time:             60 * time.Second,
}),
grpc.KeepaliveEnforcementPolicy(keepalive.EnforcementPolicy{
  MinTime:             10 * time.Second,
  PermitWithoutStream: true,
  }

error log of grpc client:

2023/10/16 16:39:15 INFO: [transport] [client-transport 0xc0000c6000] Closing: connection error: desc = "error reading from server: read tcp 9.218.111.0:34240->9.218.64.3:50051: read: connect
ion reset by peer"
2023/10/16 16:39:15 INFO: [transport] [client-transport 0xc0000c6000] loopyWriter exiting with error: transport closed by client
time="2023-10-16T16:39:15+08:00" level=error msg="grpc call method:/***, params:{***}, error:rpc error: code = Unavailable desc = closing transport due to: connection error: desc = \"error reading from server: read tcp 9.218.111.0:34240->9.218.64.3:50051: read: connection reset by peer\", received prior goaway: code: NO_ERROR"

error log of grpc server:

"__CONTENT__": "2023/10/16 16:39:15 INFO: [transport] [server-transport 0xc00181a680] loopyWriter exiting with error: finished processing active streams while in draining mode",
"__CONTENT__": "2023/10/16 16:39:15 INFO: [transport] [server-transport 0xc00181a680] Closing: read tcp 9.218.64.3:50051-\u003e9.218.111.0:34240: use of closed network connection",
"__CONTENT__": "2023/10/16 16:39:15 INFO: [transport] [server-transport 0xc00181a680] Error closing underlying net.Conn during Close: close tcp 9.218.64.3:50051-\u003e9.218.111.0:34240: use of closed network connection",

@appuser999
Copy link

appuser999 commented Oct 17, 2023

I can also avoid this case by disable dynamic windows and BDP, from here

grpc client:

// const MAX_WINDOW_SIZE int32 = (1 << 24)
grpc.WithInitialWindowSize(MAX_WINDOW_SIZE),
grpc.WithInitialConnWindowSize(MAX_WINDOW_SIZE),

@dfawley
Copy link
Member

dfawley commented Oct 17, 2023

This seems 100% the same as #5358. Let's consolidate these two issues.

@dfawley dfawley closed this as completed Oct 17, 2023
@github-actions github-actions bot locked as resolved and limited conversation to collaborators Apr 15, 2024
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet
Development

Successfully merging a pull request may close this issue.

7 participants