-
Notifications
You must be signed in to change notification settings - Fork 1.4k
Description
https://github.com/fluent/fluentd/blob/master/lib/fluent/buffer.rb#L182
Raising an exception at this point will break the chain, so in the context of a CopyOutput being used, if one plugin type runs into a problem, it causes all to fail.
One reasonable use case would be: I have the copy plugin sending my data to S3 and ElasticSearch, if the ElasticSearch cluster goes down, I'm ok to lose that data provided that I know it will still be sent to S3. This type of configuration - based on copy - helps (that is, would help) reduce SPFs in logging.
Another point is, why would BasicBuffer ever raise an exception, losing data is a big thing and I understand it should 'fail loudly', but not at the cost of other outputs.
This code is really easy to change (error logging instead of raising), but if you feel like another solution is needed, I'm willing to submit a pull-request.