[ 
https://issues.apache.org/jira/browse/FLUME-1630?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13507677#comment-13507677
 ] 

Brock Noland commented on FLUME-1630:
-------------------------------------

Roshan,

Note that this functionality is for Flume developers as opposed to user 
developers. The change doesn't really add new functionality (with one 
exception). The following is copied from the review:

1) Abstract property file provider is changed to Abstract property provider. 
Two concrete implementations are provided, PropertyFileConfigurationProvider 
and PollingPropertyFileConfigurationProvider. There is an additional concrete 
implementation MemoryConfigurationProvider is in 
TestAbstractConfigurationProvider.

2) Caching instances is removed from all factories. Instance caching is 
implemented in AbstractConfigurationProvider for channels *if* they have the 
Recyclable annotation. MemoryChannel has this annotation while the other 
channels have Disposable.

3) A layer of supervisors is removed. The application class now starts and 
stops the components when handleConfigurationEvent is called. This is called on 
startup if PropertyFileConfigurationProvider is used or whenever the 
configuration file changes if PollingPropertyFileConfigurationProvider is used. 
PollingPropertyFileConfigurationProvider uses EventBus (guava) to trigger the 
re-configuration.

and I would add:

4) The Application class has a new command line option --no-reload-conf which 
means the agent will not try and re-load the configuration file when changed.

5) This work was done to support FLUME-1502 which is meant to be the mechanism 
with which user developers would utilize these changes. That JIRA has a design 
document.
                
> Flume configuration code could be improved
> ------------------------------------------
>
>                 Key: FLUME-1630
>                 URL: https://issues.apache.org/jira/browse/FLUME-1630
>             Project: Flume
>          Issue Type: Sub-task
>          Components: Configuration
>    Affects Versions: v1.3.0
>            Reporter: Brock Noland
>            Assignee: Brock Noland
>         Attachments: FLUME-1630-0.patch, FLUME-1630-1.patch, 
> FLUME-1630-2.patch, FLUME-1630-5.patch, FLUME-1630-6.patch
>
>
> 1) It's not currently possible to provide your own configuration source
> 2) All sinks/sources/channels are reused, even across re-configurations which 
> they are not used
> 3) The flume-ng-node module is very complex and starts many threads which are 
> not required. That is there are multiple life cycle supervisors.

--
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

Reply via email to