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

(Updated Sept. 6, 2012, 7:55 a.m.)


Review request for Flume.


Changes
-------

Fixed the shift rollover

Abstracted out the backoff mechanism to avoid code repetition between 
roundrobin and random.
Added RANDOM_BACKOFF selector along with test for it(because of its random 
nature there is a negligible chance(something like 1/(2^49) that it fails if no 
random events are sent to the channel to be backed off).

I retained the old implementations. If someone else wants merge the plain and 
backoff versions and switch modes between them with a flag, they're welcome 
to... I'd prefer to avoid the confusion.

Added documents


Description
-------

Added a callback to the SinkSelector interface to inform selectors of sink 
failures, adding a noop stub to the abstract source so existing selectors don't 
need changes.

The new selector maintains counts of sequential failures as well as times for 
intended recovery and last failure time, which it uses to decide whether or not 
a sink should be added to the returned iterator. The iterator is generated in 
such a way that the round robin remains balanced.


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


Diffs (updated)
-----

  flume-ng-core/src/main/java/org/apache/flume/sink/AbstractSinkSelector.java 
63397a5 
  
flume-ng-core/src/main/java/org/apache/flume/sink/LoadBalancingSinkProcessor.java
 18d4509 
  
flume-ng-core/src/test/java/org/apache/flume/sink/TestLoadBalancingSinkProcessor.java
 1e9c94e 
  flume-ng-doc/sphinx/FlumeUserGuide.rst ffed72b 

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


Testing
-------

Added 3 new tests to verify that dynamic rebalancing is done, that the sink 
becomes available again after timeout, and that the timeout increases with 
sequential failures

All tests pass


Thanks,

Juhani Connolly

Reply via email to