diff --git a/storage/remote/codec.go b/storage/remote/codec.go index 0bd05dd22e1..2ec6658ddea 100644 --- a/storage/remote/codec.go +++ b/storage/remote/codec.go @@ -204,10 +204,11 @@ func StreamChunkedReadResponses( iter := series.Iterator() lbls = MergeLabels(labelsToLabelsProto(series.Labels(), lbls), sortedExternalLabels) - frameBytesLeft := maxBytesInFrame + maxDataLength := maxBytesInFrame for _, lbl := range lbls { - frameBytesLeft -= lbl.Size() + maxDataLength -= lbl.Size() } + frameBytesLeft := maxDataLength isNext := iter.Next() @@ -253,6 +254,7 @@ func StreamChunkedReadResponses( // We immediately flush the Write() so it is safe to return to the pool. marshalPool.Put(&b) chks = chks[:0] + frameBytesLeft = maxDataLength } if err := iter.Err(); err != nil { return ss.Warnings(), err