Merged in fix-mts-rb-resize (pull request #404)

revid/senders.go: using len(s.buf) to adjust mtsSender ring buffer instead of len(d)
This commit is contained in:
Saxon Milton 2020-05-02 11:10:50 +00:00
commit 72063b1ac2
1 changed files with 2 additions and 2 deletions

View File

@ -273,9 +273,9 @@ func (s *mtsSender) Write(d []byte) (int, error) {
s.ring.Flush()
}
if err != nil {
s.log(logger.Warning, "ringBuffer write error", "error", err.Error(), "n", n, "size", len(s.buf))
s.log(logger.Warning, "ringBuffer write error", "error", err.Error(), "n", n, "size", len(s.buf), "rb element size", adjustedMTSRBElementSize)
if err == ring.ErrTooLong {
adjustedMTSRBElementSize = len(d) * 2
adjustedMTSRBElementSize = len(s.buf) * 2
numElements := maxBuffLen / adjustedMTSRBElementSize
s.ring = ring.NewBuffer(maxBuffLen/adjustedMTSRBElementSize, adjustedMTSRBElementSize, 5*time.Second)
s.log(logger.Info, "adjusted MTS ring buffer element size", "new size", adjustedMTSRBElementSize, "num elements", numElements, "size(MB)", numElements*adjustedMTSRBElementSize)