From f94091037b8c0f0aef5a849b79446dfbe0559175 Mon Sep 17 00:00:00 2001 From: liduo04 Date: Wed, 5 Jul 2017 22:01:44 +0800 Subject: [PATCH] fix framed_transport memory increase when write transport failed --- lib/go/thrift/framed_transport.go | 2 ++ 1 file changed, 2 insertions(+) diff --git a/lib/go/thrift/framed_transport.go b/lib/go/thrift/framed_transport.go index 4ae14257e54..60b1249915a 100644 --- a/lib/go/thrift/framed_transport.go +++ b/lib/go/thrift/framed_transport.go @@ -141,11 +141,13 @@ func (p *TFramedTransport) Flush() error { binary.BigEndian.PutUint32(buf, uint32(size)) _, err := p.transport.Write(buf) if err != nil { + p.buf.Truncate(0) return NewTTransportExceptionFromError(err) } if size > 0 { if n, err := p.buf.WriteTo(p.transport); err != nil { print("Error while flushing write buffer of size ", size, " to transport, only wrote ", n, " bytes: ", err.Error(), "\n") + p.buf.Truncate(0) return NewTTransportExceptionFromError(err) } }