Fluentd v1.1.3 has been released

Hi users!

We have released v1.1.3. ChangeLog is here. This release includes several enhancements and bug fixes.

output: Support negative array index for tag placeholder

We can use array index for tag placeholder. This is useful for accessing tag parts.

<match app.**>
  @type foo
  param value-${tag[1]} # if tag is 'app.foo.bar', ${tag[1]} is 'foo'
</source>

Since v1.1.3, you can also use negative array index for tag placeholder. The behaviour is same as ruby's negative array index.

<match app.**>
  @type foo
  param value-${tag[-1]} # if tag is 'app.foo.bar', ${tag[-1]} is 'bar'
</source>

buffer: Add queued_chunks_limit_size to control the number of queued chunks

This new queued_chunks_limit_size parameter mitigates lots of queued chunks issue with frequent enqueuing.

Sometimes users set smaller flush_interval, e.g. 1s, for log forwarding. This is no problem on healthy environment. But if the destination is slower or unstable, output's flush fails and retry is started. In such situation, lots of small queued chunks are generated in the buffer and it consumes lots of fd resources when you use file buffer. To avoid this problem, queued_chunks_limit_size is useful. If you set queued_chunks_limit_size 5, staged chunks are not enqueued until the number of waiting enqueued chunks is less than 5.

Note that this check is for interval based enqueuing for now. It means if your staged chunk reaches chunk_limit_size, its chunks is enqueued even if the number of waiting enqueued chunks is greater than queued_chunks_limit_size.

Major bug fixes

  • output: Delete empty queued_num field after purging chunks. This fixes memory leak when chunk keys include time
  • out_forward: The node should be disabled when TLS socket for ack returns an error

Thanks for submitting bug reports and patches :)

Enjoy logging!

Subscribed to the RSS feed here.

Written by Masahiro Nakagawa

Masahiro (@repeatedly) is the main maintainer of Fluentd. He works on Fluentd development and support full-time. He is also a committer of the D programming language.