public KafkaSystemDescriptor withSamzaFetchThreshold(int fetchThreshold) {
    this.consumerFetchThresholdOptional = Optional.of(fetchThreshold);
    return this;
  }
When consuming streams from Kafka, a Samza container maintains an in-memory buffer for incoming messages in
order to increase throughput (the stream task can continue processing buffered messages while new messages are
fetched from Kafka). This parameter determines the number of messages we aim to buffer across all stream partitions
consumed by a container. For example, if a container consumes 50 partitions, it will try to buffer 1000
messages per partition by default. When the number of buffered messages falls below that threshold, Samza
fetches more messages from the Kafka broker to replenish the buffer. Increasing this parameter can increase
a job's processing throughput, but also increases the amount of memory used.

@param fetchThreshold number of incoming messages to buffer in-memory
@return this system descriptor
samza-kafka/src/main/java/org/apache/samza/system/kafka/descriptors/KafkaSystemDescriptor.java