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