Packages

  • package root
    Definition Classes
    root
  • package com
    Definition Classes
    root
  • package adform
    Definition Classes
    com
  • package streamloader

    The entry point of the stream loader library is the StreamLoader class, which requires a $KafkaSource and a $Sink.

    The entry point of the stream loader library is the StreamLoader class, which requires a $KafkaSource and a $Sink. Once started it will subscribe to the provided topics and will start polling and sinking records. The sink has to be able to persist records and to look up committed offsets (technically this is optional, but without it there would be no way to provide any delivery guarantees). A large class of sinks are batch based, implemented as $RecordBatchingSink. This sink accumulate batches of records using some $RecordBatcher and once ready, stores them to some underlying $RecordBatchStorage. A common type of batch is file based, i.e. a batcher might write records to a temporary file and once the file is full the sink commits the file to some underlying storage, such as a database or a distributed file system like HDFS.

    A sketch of the class hierarchy illustrating the main classes and interfaces can be seen below.



    For concrete storage implementations see the clickhouse, hadoop, s3 and vertica packages. They also contain more file builder implementations than just the $CsvFileBuilder included in the core library.

    Definition Classes
    adform
  • package util
    Definition Classes
    streamloader
  • GaussianDistribution
  • JsonSerializer
  • KafkaMetricsReporter
  • Logging
  • MetricTag
  • Metrics
  • RandomExtensions
  • Retry
  • TimeExtractor
  • TimeProvider
  • UuidExtensions

object Retry extends Logging

Linear Supertypes
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. Retry
  2. Logging
  3. AnyRef
  4. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. Protected

Type Members

  1. case class Policy(retriesLeft: Int, initialDelay: Duration, backoffFactor: Int) extends Product with Serializable

    Description of a retry policy.

    Description of a retry policy.

    retriesLeft

    Number of retries left.

    initialDelay

    Initial delay to use upon the next restart.

    backoffFactor

    Factor to increase the delay by after every restart.

Value Members

  1. final def !=(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  2. final def ##: Int
    Definition Classes
    AnyRef → Any
  3. final def ==(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  4. final def asInstanceOf[T0]: T0
    Definition Classes
    Any
  5. def clone(): AnyRef
    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.CloneNotSupportedException]) @native()
  6. final def eq(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  7. def equals(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef → Any
  8. final def getClass(): Class[_ <: AnyRef]
    Definition Classes
    AnyRef → Any
    Annotations
    @native()
  9. def hashCode(): Int
    Definition Classes
    AnyRef → Any
    Annotations
    @native()
  10. final def isInstanceOf[T0]: Boolean
    Definition Classes
    Any
  11. def isInterruptionException(e: Throwable): Boolean

    Checks whether the given exception is caused by an interrupt.

  12. val log: Logger
    Attributes
    protected
    Definition Classes
    Logging
  13. final def ne(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  14. final def notify(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native()
  15. final def notifyAll(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native()
  16. def retryOnFailure[R](retryPolicy: Policy)(code: => R): R

    Executes the given code, retrying as many times as needed if it throws non-interrupt exceptions.

    Executes the given code, retrying as many times as needed if it throws non-interrupt exceptions. Returns the result of the last successful execution or throws an exception if either it gets interrupted or is out of retries.

    Annotations
    @tailrec()
  17. def retryOnFailureIf(policy: Policy)(shouldRetry: => Boolean)(code: => Unit): Unit

    Executes the given code, retrying as many times as needed if it throws non-interrupt exceptions and if the given shouldRetry predicate evaluates to true.

    Executes the given code, retrying as many times as needed if it throws non-interrupt exceptions and if the given shouldRetry predicate evaluates to true.

    Annotations
    @tailrec()
  18. def retryUntil[R](policy: Policy)(check: (R) => Boolean)(code: => R): R

    Executes the given code until the specified check returns true.

    Executes the given code until the specified check returns true. Returns the result of the last execution, even if we run out of retries.

    Annotations
    @tailrec()
  19. final def synchronized[T0](arg0: => T0): T0
    Definition Classes
    AnyRef
  20. def toString(): String
    Definition Classes
    AnyRef → Any
  21. final def wait(): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException])
  22. final def wait(arg0: Long, arg1: Int): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException])
  23. final def wait(arg0: Long): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException]) @native()

Deprecated Value Members

  1. def finalize(): Unit
    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.Throwable]) @Deprecated
    Deprecated

    (Since version 9)

Inherited from Logging

Inherited from AnyRef

Inherited from Any

Ungrouped