aws-fluent-plugin-kinesis: Failed to flush the buffer with error_class=NoMethodError error="undefined method `compact'

The aws-fluentd-plugin-kinesis having following errors while running with type kinesis_streams_aggregated and fluentd version 0.14.21.

2017-10-11 17:07:45 +0000 [warn]: #0 failed to flush the buffer. retry_time=0 next_retry_seconds=2017-10-11 17:07:45 +0000 chunk=“55b4874e145808169ea53006b65fdb54” error_class=NoMethodError error=“undefined method `compact’ for 92:Fixnum”

2017-10-11 17:09:15 +0000 [warn]: #0 failed to flush the buffer. retry_time=8 next_retry_seconds=2017-10-11 17:09:21 +0000 chunk=“55b487651c7eeff3d29c0c2caa6bc7c2” error_class=NoMethodError error=“undefined method `compact’ for 50:Fixnum”

Additionally I am using fluent-plugin-s3 along with fluent-plugin-kinesis.

About this issue

  • Original URL
  • State: closed
  • Created 7 years ago
  • Comments: 18 (8 by maintainers)

Commits related to this issue

Most upvoted comments

test_record.txt

test_fluentd_conf.txt

Hi @riywo

Thanks for looking into this. I have further observations and details as below.

  • The error ‘failed to flush the buffer’ is followed by ‘chunk bytes limit exceeds for an emitted event stream’.

  • The issue seems related to chunk_limit_size and total size of messages to be added in chunk.

  • For example if record size is 333 bytes and chunk_limit_size is 1k, then error is easily reproducible when input source has 3 or more records to be processed. (It works for 1 or 2 records in this case.) –chunk bytes limit exceeds for an emitted event stream: 1133bytes

  • Eventually it results into error - failed to flush the buffer, and hit limit for retries. dropping all chunks in the buffer queue. retry_times=10 records=10 error_class=NoMethodError error=“undefined method `compact’ for 51:Fixnum”

  • This is reproducible with both kinesis_streams_aggregated and kinesis_streams type

Attached fluentd config and message used for testing. Let me know if anything wrong with config.