final case class QueueSizeBasedFetchStrategy(partitionPreFetchBufferLimit: Int = 1024) extends FetchStrategy with Product with Serializable
A fetch strategy that allows a stream to fetch data when its queue size is at or below
partitionPreFetchBufferLimit.
- partitionPreFetchBufferLimit
The queue size at or below which more records are fetched and buffered (per partition). This buffer improves throughput and supports varying downstream message processing time, while maintaining some backpressure. Large values effectively disable backpressure at the cost of high memory usage, low values will effectively disable prefetching in favor of low memory consumption. The number of records that are fetched on every poll is controlled by the
max.poll.recordssetting, the number of records fetched for every partition is somewhere between 0 andmax.poll.records. The default value for this parameter is 2 * the defaultmax.poll.recordsof 500, rounded to the nearest power of 2. The value0disables pre-fetching.
- Alphabetic
- By Inheritance
- QueueSizeBasedFetchStrategy
- Serializable
- Product
- Equals
- FetchStrategy
- AnyRef
- Any
- Hide All
- Show All
- Public
- Protected
Instance Constructors
- new QueueSizeBasedFetchStrategy(partitionPreFetchBufferLimit: Int = 1024)
- partitionPreFetchBufferLimit
The queue size at or below which more records are fetched and buffered (per partition). This buffer improves throughput and supports varying downstream message processing time, while maintaining some backpressure. Large values effectively disable backpressure at the cost of high memory usage, low values will effectively disable prefetching in favor of low memory consumption. The number of records that are fetched on every poll is controlled by the
max.poll.recordssetting, the number of records fetched for every partition is somewhere between 0 andmax.poll.records. The default value for this parameter is 2 * the defaultmax.poll.recordsof 500, rounded to the nearest power of 2. The value0disables pre-fetching.
Value Members
- final def !=(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
- final def ##: Int
- Definition Classes
- AnyRef → Any
- final def ==(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
- final def asInstanceOf[T0]: T0
- Definition Classes
- Any
- def clone(): AnyRef
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.CloneNotSupportedException]) @IntrinsicCandidate() @native()
- final def eq(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
- final def getClass(): Class[_ <: AnyRef]
- Definition Classes
- AnyRef → Any
- Annotations
- @IntrinsicCandidate() @native()
- final def isInstanceOf[T0]: Boolean
- Definition Classes
- Any
- final def ne(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
- final def notify(): Unit
- Definition Classes
- AnyRef
- Annotations
- @IntrinsicCandidate() @native()
- final def notifyAll(): Unit
- Definition Classes
- AnyRef
- Annotations
- @IntrinsicCandidate() @native()
- val partitionPreFetchBufferLimit: Int
- def productElementNames: Iterator[String]
- Definition Classes
- Product
- def selectPartitionsToFetch(streams: Chunk[PartitionStream]): ZIO[Any, Nothing, Set[TopicPartition]]
Selects which partitions can fetch data in the next poll.
Selects which partitions can fetch data in the next poll.
- streams
all stream for this consumer
- returns
the partitions that may fetch in the next poll
- Definition Classes
- QueueSizeBasedFetchStrategy → FetchStrategy
- final def synchronized[T0](arg0: => T0): T0
- Definition Classes
- AnyRef
- final def wait(arg0: Long, arg1: Int): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException])
- final def wait(arg0: Long): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException]) @native()
- final def wait(): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException])