[ 
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

        

Reply via email to