[
https://issues.apache.org/jira/browse/FLUME-865?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13206777#comment-13206777
]
Juhani Connolly commented on FLUME-865:
---------------------------------------
I have tried for a couple of hours to work the suggested changes and have run
into some problems that lead me believe that they are not the best approach:
- Adding a policy into the runner effectively turns the SinkRunner into a
nearly empty shell... All that is left is starting up the polling thread and
maintaining counters. I think it would make more sense to turn SinkRunner into
an abstract class that implements this shared logic, and then let
implementations handle the points of contention. I would be happy to make
these changes
- The impact on the existing codebase is significantly larger. I do not think
we need to add sink groups when we already have an existing configuration for
runners.
- Neither my suggestion nor the one suggested invalidate existing configurations
- Mine adds the functionality in the runner, allowing for sink specific
configurations in the runner(weight/priority/etc). While the runner
configuration code hasn't really been used much to date, it is there and can be
leveraged well.
- The configuration suggested by Arvind avoids some repetition, but loses
sink specific configurations which are necessary for something like a weighted
policy. They could be added in the group, but would result in a lot more
repetition
With this being said, after spending some time on this, I do not think that the
approach we have arrived at is the best one and think that turning SinkRunner
into an abstract class, along with a factory to create the right type will
result in a simpler patch with less impact to both existing configurations and
the codebase. I can do this, and make the necessary modifications to verify
configurations are valid. Let me know if this sounds ok.
I did not feel comfortable with implementing Arvinds configuration, but if we
want to proceed with it, I would be happy to reassign the issue to someone else
that is interested in implementing it. Please pardon my pickiness.
> Implement failover sink
> ------------------------
>
> Key: FLUME-865
> URL: https://issues.apache.org/jira/browse/FLUME-865
> Project: Flume
> Issue Type: New Feature
> Components: Sinks+Sources
> Affects Versions: NG alpha 2
> Reporter: Jarek Jarcec Cecho
> Assignee: Juhani Connolly
> Fix For: v1.1.0
>
> Attachments: FLUME-865.patch
>
>
> It would be nice if the flume-ng would have ability to failover to different
> sink in case that the active one is not responding (e.g. before failing the
> transaction).
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators:
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira