com.metamx.tranquility.beam

ClusteredBeam

class ClusteredBeam[EventType, InnerBeamType <: Beam[EventType]] extends Beam[EventType] with Logging

Beam composed of a stack of smaller beams. The smaller beams are split across two axes: timestamp (time shard of the data) and partition (shard of the data within one time interval). The stack of beams for a particular timestamp are created in a coordinated fashion, such that all ClusteredBeams for the same identifier will have semantically identical stacks. This interaction is mediated through zookeeper. Beam information persists across ClusteredBeam restarts.

In the case of Druid, each merged beam corresponds to one segment partition number, and each inner beam corresponds to either one index task or a set of redundant index tasks.

ClusteredBeam

                    +-------------+---------------+
2010-01-02T03:00:00 |                             |   2010-01-02T04:00:00
                    |                             |
                    v                             v

          +----+ Merged +----+                   ...
          |                  |
     partition 1         partition 2
          |                  |
          v                  v

      Decorated           Decorated

    InnerBeamType       InnerBeamType
Linear Supertypes
Logging, Beam[EventType], AnyRef, Any
Ordering
  1. Alphabetic
  2. By inheritance
Inherited
  1. ClusteredBeam
  2. Logging
  3. Beam
  4. AnyRef
  5. Any
  1. Hide All
  2. Show all
Learn more about member selection
Visibility
  1. Public
  2. All

Instance Constructors

  1. new ClusteredBeam(zkBasePath: String, identifier: String, tuning: ClusteredBeamTuning, curator: CuratorFramework, emitter: ServiceEmitter, timekeeper: Timekeeper, objectMapper: ObjectMapper, beamMaker: BeamMaker[EventType, InnerBeamType], beamDecorateFn: (Interval, Int) ⇒ (Beam[EventType]) ⇒ Beam[EventType], beamMergeFn: (Seq[Beam[EventType]]) ⇒ Beam[EventType], alertMap: Dict)(implicit arg0: Timestamper[EventType])

Value Members

  1. final def !=(arg0: AnyRef): Boolean

    Definition Classes
    AnyRef
  2. final def !=(arg0: Any): Boolean

    Definition Classes
    Any
  3. final def ##(): Int

    Definition Classes
    AnyRef → Any
  4. final def ==(arg0: AnyRef): Boolean

    Definition Classes
    AnyRef
  5. final def ==(arg0: Any): Boolean

    Definition Classes
    Any
  6. final def asInstanceOf[T0]: T0

    Definition Classes
    Any
  7. def clone(): AnyRef

    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  8. def close(): Future[Unit]

    Signal that no more messages will be sent.

    Signal that no more messages will be sent. Many implementations need this to do proper cleanup. This operation may happen asynchronously.

    returns

    future that resolves when closing is complete

    Definition Classes
    ClusteredBeamBeam
  9. final def eq(arg0: AnyRef): Boolean

    Definition Classes
    AnyRef
  10. def equals(arg0: Any): Boolean

    Definition Classes
    AnyRef → Any
  11. def finalize(): Unit

    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( classOf[java.lang.Throwable] )
  12. final def getClass(): Class[_]

    Definition Classes
    AnyRef → Any
  13. def hashCode(): Int

    Definition Classes
    AnyRef → Any
  14. final def isInstanceOf[T0]: Boolean

    Definition Classes
    Any
  15. lazy val log: Logger

    Definition Classes
    Logging
  16. final def ne(arg0: AnyRef): Boolean

    Definition Classes
    AnyRef
  17. final def notify(): Unit

    Definition Classes
    AnyRef
  18. final def notifyAll(): Unit

    Definition Classes
    AnyRef
  19. def sendAll(events: Seq[EventType]): Seq[Future[SendResult]]

    Request propagation of messages.

    Request propagation of messages. The returned futures contains the results of sending these messages, in a Seq in the same order as the original messages. Note that for some implementations, it is possible for a message to be sent and for the ack to be lost (e.g. if the send is occurring over a network).

    If any of the the returned Futures resolves to a DefunctBeamException, this means the beam should be discarded (after calling close()).

    returns

    futures containing send result of each message

    Definition Classes
    ClusteredBeamBeam
  20. final def synchronized[T0](arg0: ⇒ T0): T0

    Definition Classes
    AnyRef
  21. val timestamper: (EventType) ⇒ DateTime

  22. def toString(): String

    Definition Classes
    ClusteredBeam → AnyRef → Any
  23. final def wait(): Unit

    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  24. final def wait(arg0: Long, arg1: Int): Unit

    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  25. final def wait(arg0: Long): Unit

    Definition Classes
    AnyRef
    Annotations
    @throws( ... )

Deprecated Value Members

  1. final def propagate(messages: Seq[EventType]): Future[Int]

    Request propagation of messages.

    Request propagation of messages. The return value indicates the number of messages known to be sent successfully. Note that for some implementations, it is possible for a message to be sent and for the ack to be lost (e.g. if the send is occurring over a network).

    If the returned Future resolves to a DefunctBeamException, this means the beam should be discarded (after calling close()).

    messages

    a batch of messages

    returns

    the number of messages propagated

    Definition Classes
    Beam
    Annotations
    @deprecated
    Deprecated

    (Since version 0.7.0) use sendBatch

  2. final def sendBatch(messages: Seq[EventType]): Future[BitSet]

    Request propagation of messages.

    Request propagation of messages. The returned bitset contains the indexes of messages known to be sent successfully. Note that for some implementations, it is possible for a message to be sent and for the ack to be lost (e.g. if the send is occurring over a network).

    If the returned Future resolves to a DefunctBeamException, this means the beam should be discarded (after calling close()).

    messages

    a batch of messages

    returns

    a bitset containing indexes of messages that were sent successfully

    Definition Classes
    Beam
    Annotations
    @deprecated
    Deprecated

    (Since version 0.8.0) use sendAll

Inherited from Logging

Inherited from Beam[EventType]

Inherited from AnyRef

Inherited from Any

Ungrouped