| 
 | ||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||
java.lang.Objectorg.apache.flume.sink.AbstractSinkProcessor
org.apache.flume.sink.FailoverSinkProcessor
public class FailoverSinkProcessor
FailoverSinkProcessor maintains a prioritized list of sinks, guarranteeing that so long as one is available events will be processed. The failover mechanism works by relegating failed sinks to a pool where they are assigned a cooldown period, increasing with sequential failures before they are retried. Once a sink succesfully sends an event it is restored to the live pool. FailoverSinkProcessor is in no way thread safe and expects to be run via SinkRunner Additionally, setSinks must be called before configure, and additional sinks cannot be added while running To configure, set a sink groups processor to "failover" and set priorities for individual sinks, all priorities must be unique. Furthermore, an upper limit to failover time can be set(in miliseconds) using maxpenalty Ex) host1.sinkgroups = group1 host1.sinkgroups.group1.sinks = sink1 sink2 host1.sinkgroups.group1.processor.type = failover host1.sinkgroups.group1.processor.priority.sink1 = 5 host1.sinkgroups.group1.processor.priority.sink2 = 10 host1.sinkgroups.group1.processor.maxpenalty = 10000
| Constructor Summary | |
|---|---|
| FailoverSinkProcessor() | |
| Method Summary | |
|---|---|
|  void | configure(Context context)Request the implementing class to (re)configure itself. | 
|  Sink.Status | process()Handle a request to poll the owned sinks. | 
|  void | setSinks(List<Sink> sinks)Set all sinks to work with. | 
| Methods inherited from class org.apache.flume.sink.AbstractSinkProcessor | 
|---|
| getLifecycleState, getSinks, start, stop | 
| Methods inherited from class java.lang.Object | 
|---|
| clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait | 
| Constructor Detail | 
|---|
public FailoverSinkProcessor()
| Method Detail | 
|---|
public void configure(Context context)
ConfigurableRequest the implementing class to (re)configure itself.
When configuration parameters are changed, they must be reflected by the component asap.
There are no thread safety guarrantees on when configure might be called.
public Sink.Status process()
                    throws EventDeliveryException
SinkProcessorHandle a request to poll the owned sinks.
The processor is expected to call Sink.process() on
  whatever sink(s) appropriate, handling failures as appropriate and
  throwing EventDeliveryException when there is a failure to
  deliver any events according to the delivery policy defined by the
  sink processor implementation. See specific implementations of this
  interface for delivery behavior and policies.
READY if events were successfully consumed,
 or BACKOFF if no events were available in the channel to consume.
EventDeliveryException - if the behavior guaranteed by the processor
 couldn't be carried out.public void setSinks(List<Sink> sinks)
SinkProcessorSet all sinks to work with.
Sink specific parameters are passed to the processor via configure
setSinks in interface SinkProcessorsetSinks in class AbstractSinkProcessorsinks - A non-null, non-empty list of sinks to be chosen from by the
 processor| 
 | ||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||