Add max_message_len in kafka_consumer input (#2636)

This commit is contained in:
Nick Irvine
2017-04-11 12:05:39 -07:00
committed by Daniel Nelson
parent 8b4c3201a2
commit 198ef8de3a
4 changed files with 43 additions and 11 deletions

View File

@@ -1,6 +1,7 @@
package kafka_consumer
import (
"strings"
"testing"
"github.com/influxdata/telegraf/plugins/parsers"
@@ -62,6 +63,23 @@ func TestRunParserInvalidMsg(t *testing.T) {
assert.Equal(t, acc.NFields(), 0)
}
// Test that overlong messages are dropped
func TestDropOverlongMsg(t *testing.T) {
const maxMessageLen = 64 * 1024
k, in := newTestKafka()
k.MaxMessageLen = maxMessageLen
acc := testutil.Accumulator{}
k.acc = &acc
defer close(k.done)
overlongMsg := strings.Repeat("v", maxMessageLen+1)
go k.receiver()
in <- saramaMsg(overlongMsg)
acc.WaitError(1)
assert.Equal(t, acc.NFields(), 0)
}
// Test that the parser parses kafka messages into points
func TestRunParserAndGather(t *testing.T) {
k, in := newTestKafka()