Package-level declarations

Types

Link copied to clipboard
Link copied to clipboard
open class Histogram<T>(map: ConcurrentMap<T, Double> = ConcurrentHashMap())
Link copied to clipboard
@Singleton
@Requires(property = "airbyte.destination.core.data-channel.medium", value = "STDIO")
class InferredStateKeyClient(catalog: DestinationCatalog) : StateKeyClient

Calculates state / partition keys based off per stream counters. For per-stream state, partitions are 1:1 with state messages. For global states, each state has a partition for each stream.

Link copied to clipboard
Link copied to clipboard
data class PartitionKey(val id: String)

A record is always associated with a single partition.

Link copied to clipboard
@Singleton
@Requires(property = "airbyte.destination.core.data-channel.medium", value = "SOCKET")
class SelfDescribingStateKeyClient : StateKeyClient

Calculates state / partition keys based off the incoming State message. States and Partitions may be either 1 to 1 or 1 to many.

Link copied to clipboard
Link copied to clipboard
@Singleton
class StateHistogramStore
Link copied to clipboard
data class StateKey(val id: Long, val partitionKeys: List<PartitionKey>) : Comparable<StateKey>

A state generally refers to a single partition but can refer to many (namely, in CDC)

Link copied to clipboard
interface StateKeyClient
Link copied to clipboard
@Singleton
class StateReconciler(stateStore: StateStore, emittedStatsStore: EmittedStatsStore, consumer: OutputConsumer, @Named(value = "stateReconcilerScope") scope: CoroutineScope, @Named(value = "stateReconcilerInterval") interval: Duration?)

At an interval it checks for any complete states and flushes them to the platform.

Link copied to clipboard
@Singleton
class StateStore(keyClient: StateKeyClient, histogramStore: StateHistogramStore, stateStatsEnricher: StateStatsEnricher)