Shawn Nguyen created KAFKA-7004: ----------------------------------- Summary: Support configurable restore consumer poll timeout Key: KAFKA-7004 URL: https://issues.apache.org/jira/browse/KAFKA-7004 Project: Kafka Issue Type: Improvement Components: streams Affects Versions: 1.1.0 Reporter: Shawn Nguyen
In the StateChangelogReader, the restore consumer is currently hard coded to poll for 10ms at most per call. {noformat} public Collection<TopicPartition> restore(final RestoringTasks active) { if (!needsInitializing.isEmpty()) { initialize(); } if (needsRestoring.isEmpty()) { restoreConsumer.unsubscribe(); return completed(); } final Set<TopicPartition> restoringPartitions = new HashSet<>(needsRestoring.keySet()); try { final ConsumerRecords<byte[], byte[]> allRecords = restoreConsumer.poll(10); for (final TopicPartition partition : restoringPartitions) { restorePartition(allRecords, partition, active.restoringTaskFor(partition)); } {noformat} It'd be nice to be able to configure the restore consumer to poll for a larger timeout (e.g. 500ms) to give it more time to accumulate records for the restoration task. In the main event loop for polling in StreamThread.java, the main consumer uses the POLL_MS_CONFIG set in StreamsConfig.java to configure the max poll timeout. We could construct a similar config in the StreamsConfig class, but prefixed with the consumer type (restore in this case). -- This message was sent by Atlassian JIRA (v7.6.3#76005)