[
https://issues.apache.org/jira/browse/FLUME-1052?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13259689#comment-13259689
]
Hudson commented on FLUME-1052:
-------------------------------
Integrated in flume-trunk #179 (See
[https://builds.apache.org/job/flume-trunk/179/])
FLUME-1052. Main configuration component as separate module.
(Hari Shreedharan via Arvind Prabhakar) (Revision 1329280)
Result = SUCCESS
arvind : http://svn.apache.org/viewvc/?view=rev&rev=1329280
Files :
* /incubator/flume/trunk/flume-ng-configuration
* /incubator/flume/trunk/flume-ng-configuration/pom.xml
* /incubator/flume/trunk/flume-ng-configuration/src
* /incubator/flume/trunk/flume-ng-configuration/src/main
* /incubator/flume/trunk/flume-ng-configuration/src/main/java
* /incubator/flume/trunk/flume-ng-configuration/src/main/java/org
* /incubator/flume/trunk/flume-ng-configuration/src/main/java/org/apache
* /incubator/flume/trunk/flume-ng-configuration/src/main/java/org/apache/flume
*
/incubator/flume/trunk/flume-ng-configuration/src/main/java/org/apache/flume/Context.java
*
/incubator/flume/trunk/flume-ng-configuration/src/main/java/org/apache/flume/conf
*
/incubator/flume/trunk/flume-ng-configuration/src/main/java/org/apache/flume/conf/ComponentConfiguration.java
*
/incubator/flume/trunk/flume-ng-configuration/src/main/java/org/apache/flume/conf/ComponentConfigurationFactory.java
*
/incubator/flume/trunk/flume-ng-configuration/src/main/java/org/apache/flume/conf/ConfigurationException.java
*
/incubator/flume/trunk/flume-ng-configuration/src/main/java/org/apache/flume/conf/FlumeConfiguration.java
*
/incubator/flume/trunk/flume-ng-configuration/src/main/java/org/apache/flume/conf/FlumeConfigurationError.java
*
/incubator/flume/trunk/flume-ng-configuration/src/main/java/org/apache/flume/conf/FlumeConfigurationErrorType.java
*
/incubator/flume/trunk/flume-ng-configuration/src/main/java/org/apache/flume/conf/channel
*
/incubator/flume/trunk/flume-ng-configuration/src/main/java/org/apache/flume/conf/channel/ChannelConfiguration.java
*
/incubator/flume/trunk/flume-ng-configuration/src/main/java/org/apache/flume/conf/channel/ChannelSelectorConfiguration.java
*
/incubator/flume/trunk/flume-ng-configuration/src/main/java/org/apache/flume/conf/channel/ChannelSelectorType.java
*
/incubator/flume/trunk/flume-ng-configuration/src/main/java/org/apache/flume/conf/channel/ChannelType.java
*
/incubator/flume/trunk/flume-ng-configuration/src/main/java/org/apache/flume/conf/sink
*
/incubator/flume/trunk/flume-ng-configuration/src/main/java/org/apache/flume/conf/sink/SinkConfiguration.java
*
/incubator/flume/trunk/flume-ng-configuration/src/main/java/org/apache/flume/conf/sink/SinkGroupConfiguration.java
*
/incubator/flume/trunk/flume-ng-configuration/src/main/java/org/apache/flume/conf/sink/SinkProcessorConfiguration.java
*
/incubator/flume/trunk/flume-ng-configuration/src/main/java/org/apache/flume/conf/sink/SinkProcessorType.java
*
/incubator/flume/trunk/flume-ng-configuration/src/main/java/org/apache/flume/conf/sink/SinkType.java
*
/incubator/flume/trunk/flume-ng-configuration/src/main/java/org/apache/flume/conf/source
*
/incubator/flume/trunk/flume-ng-configuration/src/main/java/org/apache/flume/conf/source/SourceConfiguration.java
*
/incubator/flume/trunk/flume-ng-configuration/src/main/java/org/apache/flume/conf/source/SourceType.java
* /incubator/flume/trunk/flume-ng-core/pom.xml
*
/incubator/flume/trunk/flume-ng-core/src/main/java/org/apache/flume/ChannelSelector.java
*
/incubator/flume/trunk/flume-ng-core/src/main/java/org/apache/flume/Context.java
*
/incubator/flume/trunk/flume-ng-core/src/main/java/org/apache/flume/SinkProcessor.java
*
/incubator/flume/trunk/flume-ng-core/src/main/java/org/apache/flume/SinkProcessorType.java
*
/incubator/flume/trunk/flume-ng-core/src/main/java/org/apache/flume/channel/ChannelSelectorFactory.java
*
/incubator/flume/trunk/flume-ng-core/src/main/java/org/apache/flume/channel/ChannelSelectorType.java
*
/incubator/flume/trunk/flume-ng-core/src/main/java/org/apache/flume/channel/ChannelType.java
*
/incubator/flume/trunk/flume-ng-core/src/main/java/org/apache/flume/channel/DefaultChannelFactory.java
*
/incubator/flume/trunk/flume-ng-core/src/main/java/org/apache/flume/conf/ConfigurableComponent.java
*
/incubator/flume/trunk/flume-ng-core/src/main/java/org/apache/flume/conf/Configurables.java
*
/incubator/flume/trunk/flume-ng-core/src/main/java/org/apache/flume/sink/DefaultSinkFactory.java
*
/incubator/flume/trunk/flume-ng-core/src/main/java/org/apache/flume/sink/DefaultSinkProcessor.java
*
/incubator/flume/trunk/flume-ng-core/src/main/java/org/apache/flume/sink/SinkGroup.java
*
/incubator/flume/trunk/flume-ng-core/src/main/java/org/apache/flume/sink/SinkProcessorFactory.java
*
/incubator/flume/trunk/flume-ng-core/src/main/java/org/apache/flume/sink/SinkType.java
*
/incubator/flume/trunk/flume-ng-core/src/main/java/org/apache/flume/source/DefaultSourceFactory.java
*
/incubator/flume/trunk/flume-ng-core/src/main/java/org/apache/flume/source/SourceType.java
* /incubator/flume/trunk/flume-ng-dist/pom.xml
* /incubator/flume/trunk/flume-ng-dist/src/main/assembly/dist.xml
* /incubator/flume/trunk/flume-ng-dist/src/main/assembly/src.xml
*
/incubator/flume/trunk/flume-ng-node/src/main/java/org/apache/flume/conf/properties/FlumeConfiguration.java
*
/incubator/flume/trunk/flume-ng-node/src/main/java/org/apache/flume/conf/properties/PropertiesFileConfigurationProvider.java
* /incubator/flume/trunk/pom.xml
> Core configuration component
> ----------------------------
>
> Key: FLUME-1052
> URL: https://issues.apache.org/jira/browse/FLUME-1052
> Project: Flume
> Issue Type: Sub-task
> Affects Versions: v1.0.0
> Reporter: Hari Shreedharan
> Assignee: Hari Shreedharan
> Fix For: v1.2.0
>
> Attachments: FLUME-1052-2.patch
>
>
> Currently the configuration provider implementation encompasses all the
> syntactic and structural validation rules for loading the configuration.
> Externalizing this functionality to a library will allow external tools to
> easily operate on flume configuration files and be able to help parse and
> validate these files.
> Currently the configuration of each component sits deep inside the component
> themselves. There is no way to verify if a configuration is valid before run
> time. In most systems like Flume, it is likely that these confs will be
> deployed from one single host, on to the machines where flume agents are
> running. Only when each agent starts, invalid confs are identified because
> the Agents would terminate by throwing exceptions. This is a first attempt to
> make a component-aware configuration system which is independent of the
> Flume, and does not require the Flume jar to be installed. Each component
> needs a configuration manager, which configures the components.
> Provide abstract Configuration stubs for each component type, sources,
> channels, sinks, selectors etc, which are in the new package, independent on
> ng-core. Now for each of the channels extend the abstract class and check the
> config properties for each of the required parameters for that component, for
> example: MultiplexingChannelSelectorConfigurator would look for default
> channel etc. If a particular component does not have a configuration class
> then let the current mechanism continue.
> This will require implementation for each component, but it should not be too
> complex. One additional advantage we get from this is that we can separate
> out the config validation from the components into these stubs, but we will
> still need to read the values out of the Context as we do currently(else we
> end up making the configuration dependent on flume-ng-core itself which we
> wanted to avoid).
> A problem with this is making a change to the configuration would require
> changes in the configuration classes and in the components also(where the
> configuration is read and the component is actually configured). I could not
> figure out a way of avoiding this.
--
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