[
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