-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/7518/#review13913
-----------------------------------------------------------

Ship it!


Great work, Brock! Committing this patch, just added one small nit - we can fix 
it later if you think it makes sense.


flume-ng-node/src/main/java/org/apache/flume/node/PollingPropertiesFileConfigurationProvider.java
<https://reviews.apache.org/r/7518/#comment29720>

    Nit: We should probably call shutdownNow() and interrupt the components 
after a brief period? If you think that is good, we should do that it in a 
follow up jira


- Hari Shreedharan


On Nov. 30, 2012, 8:18 p.m., Brock Noland wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://reviews.apache.org/r/7518/
> -----------------------------------------------------------
> 
> (Updated Nov. 30, 2012, 8:18 p.m.)
> 
> 
> Review request for Flume.
> 
> 
> Description
> -------
> 
> Patch is not for commit, yet. It changes the configuration system into 
> something extendable and maintainable. Additionally it changes the 
> terminology from node to agent.  Once the patch is ready for review we should 
> change the node package to agent to conform to the agent terminology.
> 
> Big ticket items:
> 
> 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 
> Reusable annotation. MemoryChannel has this annotation.
> 
> 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.
> 
> 
> This addresses bug FLUME-1630.
>     https://issues.apache.org/jira/browse/FLUME-1630
> 
> 
> Diffs
> -----
> 
>   
> flume-ng-channels/flume-file-channel/src/main/java/org/apache/flume/channel/file/FileChannel.java
>  d12ad9e 
>   
> flume-ng-channels/flume-jdbc-channel/src/main/java/org/apache/flume/channel/jdbc/JdbcChannel.java
>  5da979e 
>   
> flume-ng-channels/flume-recoverable-memory-channel/src/main/java/org/apache/flume/channel/recoverable/memory/RecoverableMemoryChannel.java
>  89296b7 
>   
> flume-ng-configuration/src/main/java/org/apache/flume/conf/FlumeConfiguration.java
>  9b209e8 
>   flume-ng-core/src/main/java/org/apache/flume/ChannelFactory.java e269909 
>   flume-ng-core/src/main/java/org/apache/flume/Constants.java 4c6992d 
>   flume-ng-core/src/main/java/org/apache/flume/SinkFactory.java d8fd0da 
>   flume-ng-core/src/main/java/org/apache/flume/SourceFactory.java 91cc866 
>   flume-ng-core/src/main/java/org/apache/flume/annotations/Disposable.java 
> PRE-CREATION 
>   flume-ng-core/src/main/java/org/apache/flume/annotations/Recyclable.java 
> PRE-CREATION 
>   
> flume-ng-core/src/main/java/org/apache/flume/channel/DefaultChannelFactory.java
>  ee32696 
>   flume-ng-core/src/main/java/org/apache/flume/channel/MemoryChannel.java 
> dfc289e 
>   flume-ng-core/src/main/java/org/apache/flume/sink/DefaultSinkFactory.java 
> e71d44e 
>   
> flume-ng-core/src/main/java/org/apache/flume/source/DefaultSourceFactory.java 
> 18533ae 
>   
> flume-ng-core/src/test/java/org/apache/flume/sink/TestDefaultSinkFactory.java 
> ab3f447 
>   
> flume-ng-core/src/test/java/org/apache/flume/source/TestDefaultSourceFactory.java
>  ff5b4d6 
>   flume-ng-node/pom.xml 6a0fe15 
>   
> flume-ng-node/src/main/java/org/apache/flume/conf/file/AbstractFileConfigurationProvider.java
>  a2c882b 
>   
> flume-ng-node/src/main/java/org/apache/flume/conf/file/SimpleNodeConfiguration.java
>  99b8bcc 
>   
> flume-ng-node/src/main/java/org/apache/flume/conf/properties/PropertiesFileConfigurationProvider.java
>  8dbbe57 
>   
> flume-ng-node/src/main/java/org/apache/flume/node/AbstractConfigurationProvider.java
>  PRE-CREATION 
>   flume-ng-node/src/main/java/org/apache/flume/node/Application.java 405afa3 
>   
> flume-ng-node/src/main/java/org/apache/flume/node/ConfigurationProvider.java 
> ae732aa 
>   flume-ng-node/src/main/java/org/apache/flume/node/FlumeNode.java cee022d 
>   
> flume-ng-node/src/main/java/org/apache/flume/node/MaterializedConfiguration.java
>  PRE-CREATION 
>   flume-ng-node/src/main/java/org/apache/flume/node/NodeConfiguration.java 
> a24c939 
>   flume-ng-node/src/main/java/org/apache/flume/node/NodeManager.java 7457d87 
>   
> flume-ng-node/src/main/java/org/apache/flume/node/PollingPropertiesFileConfigurationProvider.java
>  PRE-CREATION 
>   
> flume-ng-node/src/main/java/org/apache/flume/node/PropertiesFileConfigurationProvider.java
>  PRE-CREATION 
>   
> flume-ng-node/src/main/java/org/apache/flume/node/SimpleMaterializedConfiguration.java
>  PRE-CREATION 
>   
> flume-ng-node/src/main/java/org/apache/flume/node/nodemanager/AbstractLogicalNodeManager.java
>  1fda07b 
>   
> flume-ng-node/src/main/java/org/apache/flume/node/nodemanager/DefaultLogicalNodeManager.java
>  60bfd5e 
>   
> flume-ng-node/src/main/java/org/apache/flume/node/nodemanager/NodeConfigurationAware.java
>  c20bf9b 
>   
> flume-ng-node/src/test/java/org/apache/flume/conf/properties/TestPropertiesFileConfigurationProvider.java
>  d43aed6 
>   
> flume-ng-node/src/test/java/org/apache/flume/node/TestAbstractConfigurationProvider.java
>  PRE-CREATION 
>   
> flume-ng-node/src/test/java/org/apache/flume/node/TestAbstractLogicalNodeManager.java
>  1cbc269 
>   flume-ng-node/src/test/java/org/apache/flume/node/TestApplication.java 
> PRE-CREATION 
>   
> flume-ng-node/src/test/java/org/apache/flume/node/TestDefaultLogicalNodeManager.java
>  530b299 
>   flume-ng-node/src/test/java/org/apache/flume/node/TestFlumeNode.java 
> f2dad6f 
>   
> flume-ng-node/src/test/java/org/apache/flume/node/TestFlumeNodeApplication.java
>  f759af1 
>   
> flume-ng-node/src/test/java/org/apache/flume/node/TestPollingPropertiesFileConfigurationProvider.java
>  PRE-CREATION 
>   
> flume-ng-node/src/test/java/org/apache/flume/node/TestPropertiesFileConfigurationProvider.java
>  PRE-CREATION 
>   
> flume-ng-node/src/test/java/org/apache/flume/source/FlakeySequenceGeneratorSource.java
>  41e2f35 
>   flume-ng-node/src/test/resources/flume-conf.properties 2b74d4c 
> 
> Diff: https://reviews.apache.org/r/7518/diff/
> 
> 
> Testing
> -------
> 
> Unit tests added for the new functionality.
> 
> 
> Thanks,
> 
> Brock Noland
> 
>

Reply via email to