|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object org.apache.flume.channel.AbstractChannel org.apache.flume.channel.PseudoTxnMemoryChannel
public class PseudoTxnMemoryChannel
A capacity-capped Channel
implementation that supports in-memory
buffering and delivery of events.
This channel is appropriate for
best effort
delivery of events where high throughput is favored over
data durability. To be clear, this channel offers absolutely no guarantee
of event delivery in the face of (any) component failure.
TODO: Discuss guarantees, corner cases re: potential data loss (e.g. consumer begins a tx, takes events, and gets SIGKILL before rollback).
Configuration options
Parameter | Description | Unit / Type | Default |
---|---|---|---|
capacity | The in-memory capacity of this channel. Store up to capacity events before refusing new events. | events / int | 50 |
keep-alive | The amount of time (seconds) to wait for an event before returning
null on take() . |
seconds / int | 3 |
Metrics
TODO
Nested Class Summary | |
---|---|
static class |
PseudoTxnMemoryChannel.NoOpTransaction
A no-op transaction implementation that does nothing at all. |
Constructor Summary | |
---|---|
PseudoTxnMemoryChannel()
|
Method Summary | |
---|---|
void |
configure(Context context)
Request the implementing class to (re)configure itself. |
Transaction |
getTransaction()
|
void |
put(Event event)
Puts the given event into the channel. |
Event |
take()
Returns the next event from the channel if available. |
Methods inherited from class org.apache.flume.channel.AbstractChannel |
---|
getLifecycleState, getName, setName, start, stop |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Constructor Detail |
---|
public PseudoTxnMemoryChannel()
Method Detail |
---|
public void configure(Context context)
Configurable
Request 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.
configure
in interface Configurable
configure
in class AbstractChannel
public void put(Event event)
Channel
Puts the given event into the channel.
Note: This method must be invoked within an active
Transaction
boundary. Failure to do so can lead to unpredictable
results.
event
- the event to transport.Transaction.begin()
public Event take()
Channel
Returns the next event from the channel if available. If the channel
does not have any events available, this method must return null
.
Note: This method must be invoked within an active
Transaction
boundary. Failure to do so can lead to unpredictable
results.
null
if no events are
available.Transaction.begin()
public Transaction getTransaction()
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |