Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

<secondary> mechanism does not work under 0.14.11 #235

Closed
sampointer opened this issue Jan 25, 2017 · 3 comments
Closed

<secondary> mechanism does not work under 0.14.11 #235

sampointer opened this issue Jan 25, 2017 · 3 comments

Comments

@sampointer
Copy link

Problem

The <secondary> mechanism seems to have changed under 0.14.x. When attempting to use the 0.12.x syntax:

    <secondary>
      @type file
      path /var/spool/td-agent/overflow/failed.
    </secondary>

td-agent fails to start. I've made some progress by using the new secondary_file output type (http://www.fluentd.org/blog/fluentd-v0.14.7-has-been-released), which at least allows the daemon to start:

    <secondary>
      @type secondary_file
      directory /var/spool/td-agent/overflow/
      basename failed.log
    </secondary>

However, I still cannot get the secondary to be used when forcing the primary to fail, it simply logs the fact that all of the retries have been exceeded and chunks are being dropped.

@sampointer sampointer changed the title <secondary> mechanism does not work under 0.14.11 <secondary> mechanism does not work under 0.14.11 Jan 25, 2017
@sampointer
Copy link
Author

sampointer commented Feb 1, 2017

I've built and deployed https://github.com/yissacharcw/fluent-plugin-elasticsearch/tree/support-nanosecond-timestamps as it seems to be at least part of the work required to support the 0.14.x plugin API

Whilst it functions it still does not fall over to the secondary mechanism.

My printf debugging leads me to believe that the plugin does not believe it has a secondary configured, if you follow the logic that ultimately leads to dropping all chunks in the buffer queue.

Given the changes in Fluent::BufferedOutput vs. Fluent::Plugin::Output and the various compat_* layers that are present to allow options parsing I wonder if this is simply a matter of the configuration API or DSL changing.

I also note that (all?) of the documentation on the fluentd site relating to the base output plugins has removed the sections on <secondary> for the 0.14.x versions of those documents.

@sampointer
Copy link
Author

sampointer commented Feb 2, 2017

Further information. With the simplest configuration I still cannot get fluentd to fail over to the secondary under 0.14.11. This configuration excludes this plugin and uses only those shipped with fluentd.

I've opened an issue with Treasure Data regarding this: fluent/fluentd#1449

@sampointer
Copy link
Author

This has been resolved in fluentd. Whilst the issue above provides the detail the tl;dr is to use 0.14.13 (when it is released) or later.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant