[
https://issues.apache.org/jira/browse/FLUME-1941?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13601782#comment-13601782
]
Gabriel Commeau commented on FLUME-1941:
----------------------------------------
That makes sense. Another way to handle the potential conflicts is for the
parser to ignore the variables that it can't substitute, and leave the string
as-is. The user would be responsible for making sure the variable names chosen
within Flume's configuration file do not conflict with the rest (the command
line of the exec source for instance).
Also, I envisioned the variables to be global only. If we were to declare it
within an agent's configuration section (i.e. "agent1."), it'd imply a variable
scope. It may be a little too much for Flume's configuration IMHO. I love the
idea of grouping them in a global section though: it's more readable and
clearer for everybody, and it prevents future conflicts.
> Support defaults or inheritance in configs
> ------------------------------------------
>
> Key: FLUME-1941
> URL: https://issues.apache.org/jira/browse/FLUME-1941
> Project: Flume
> Issue Type: New Feature
> Components: Configuration
> Reporter: Mike Percy
> Fix For: v1.4.0
>
>
> Proposal to support defaults or inheritance in configs.
> The idea is to create a "prototypal" component config, such as a source or
> sink, which is not necessarily instantiated but is used to avoid repetitive
> configurations when creating multiple components of the same type. A great
> example of this is users who define 5 HDFS sinks to increase write
> parallelism, but they each contain many of the same configuration parameters
> and differ only in their name and path.
> Basic idea:
> {noformat}
> agent.sinks.sink-proto-1.type = my-sink
> agent.sinks.sink-proto-1.path = /var/log/foo/bar
> agent.sinks.sink-proto-1.serializer = MySerializer$Builder
> agent.sinks.sink-proto-1.credentials = mpercy
> agent.sinks.sink-1.__prototype__ = sink-proto-1
> agent.sinks.sink-1.path = /var/log/baz/blam
> agent.sinks.sink-2.__prototype__ = sink-proto-1
> agent.sinks.sink-2.path = /var/log/glerp/bazinga
> {noformat}
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira