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

Review request for Flume and Prasad Mujumdar.


Summary
-------

Previously source was directly configured with a set of channels. This has 
changed now so that the source is configured with a channel processor, which in 
turn is configured with a single channel selector. A channel selector is the 
component that is responsible for selecting the specific required and optional 
channels when an event is received by the source. Using configuration the 
channel selector can be specified using the sub-namespace of "selector". 
Properties within this namespace are used to configure the selector itself.

By default, when no selector is explicitly specified in the configuration, the 
default selector is used - which is the ReplicatingChannelSelector. As the name 
suggests, the replicating channel selector ensures that the event is replicated 
on all channels. An alternate channel selector is introduced as well - called 
the MultiplexingChannelSelector - which allows a mapping of pre-specified 
header value to a subset of channels from within the source channels. This 
selector uses static header values for mapping and does not support any 
regular-expression syntax. 


This addresses bug FLUME-930.
    https://issues.apache.org/jira/browse/FLUME-930


Diffs
-----

  flume-ng-core/src/main/java/org/apache/flume/ChannelSelector.java 
PRE-CREATION 
  flume-ng-core/src/main/java/org/apache/flume/Source.java 3d6f81d 
  
flume-ng-core/src/main/java/org/apache/flume/channel/AbstractChannelSelector.java
 PRE-CREATION 
  flume-ng-core/src/main/java/org/apache/flume/channel/ChannelProcessor.java 
PRE-CREATION 
  
flume-ng-core/src/main/java/org/apache/flume/channel/ChannelSelectorFactory.java
 PRE-CREATION 
  flume-ng-core/src/main/java/org/apache/flume/channel/ChannelSelectorType.java 
PRE-CREATION 
  
flume-ng-core/src/main/java/org/apache/flume/channel/MultiplexingChannelSelector.java
 PRE-CREATION 
  
flume-ng-core/src/main/java/org/apache/flume/channel/ReplicatingChannelSelector.java
 PRE-CREATION 
  flume-ng-core/src/main/java/org/apache/flume/source/AbstractSource.java 
dd76871 
  flume-ng-core/src/main/java/org/apache/flume/source/AvroSource.java b1ca078 
  flume-ng-core/src/main/java/org/apache/flume/source/ExecSource.java 71608b6 
  flume-ng-core/src/main/java/org/apache/flume/source/NetcatSource.java b01ef29 
  
flume-ng-core/src/main/java/org/apache/flume/source/SequenceGeneratorSource.java
 e90f17f 
  flume-ng-core/src/test/java/org/apache/flume/channel/MockChannel.java 
PRE-CREATION 
  flume-ng-core/src/test/java/org/apache/flume/channel/MockEvent.java 
PRE-CREATION 
  
flume-ng-core/src/test/java/org/apache/flume/channel/TestMultiplexingChannelSelector.java
 PRE-CREATION 
  
flume-ng-core/src/test/java/org/apache/flume/channel/TestReplicatingChannelSelector.java
 PRE-CREATION 
  flume-ng-core/src/test/java/org/apache/flume/source/MockSource.java 04d3cef 
  flume-ng-core/src/test/java/org/apache/flume/source/TestAvroSource.java 
7ffd1f6 
  flume-ng-core/src/test/java/org/apache/flume/source/TestExecSource.java 
6acbbd5 
  
flume-ng-core/src/test/java/org/apache/flume/source/TestPollableSourceRunner.java
 5ff570e 
  
flume-ng-core/src/test/java/org/apache/flume/source/TestSequenceGeneratorSource.java
 a15f9f1 
  
flume-ng-node/src/main/java/org/apache/flume/conf/file/JsonFileConfigurationProvider.java
 f48e681 
  
flume-ng-node/src/main/java/org/apache/flume/conf/properties/FlumeConfiguration.java
 57fff8c 
  
flume-ng-node/src/main/java/org/apache/flume/conf/properties/PropertiesFileConfigurationProvider.java
 bee60ff 
  
flume-ng-node/src/test/java/org/apache/flume/node/TestAbstractLogicalNodeManager.java
 32586e0 
  
flume-ng-node/src/test/java/org/apache/flume/node/TestDefaultLogicalNodeManager.java
 bc3058c 
  flume-ng-node/src/test/java/org/apache/flume/source/TestNetcatSource.java 
8ccffca 

Diff: https://reviews.apache.org/r/3688/diff


Testing
-------

All unit tests pass. Introduced new tests to exercise channel selector 
functionality.


Thanks,

Arvind

Reply via email to