diff --git a/kafka-webview-ui/src/main/java/org/sourcelab/kafka/webview/ui/manager/kafka/WebKafkaConsumerFactory.java b/kafka-webview-ui/src/main/java/org/sourcelab/kafka/webview/ui/manager/kafka/WebKafkaConsumerFactory.java index 6107a741..bc668009 100644 --- a/kafka-webview-ui/src/main/java/org/sourcelab/kafka/webview/ui/manager/kafka/WebKafkaConsumerFactory.java +++ b/kafka-webview-ui/src/main/java/org/sourcelab/kafka/webview/ui/manager/kafka/WebKafkaConsumerFactory.java @@ -172,7 +172,8 @@ private ClientConfig.Builder createClientConfig( .withTopicConfig(topicConfig) .withConsumerId(consumerId) .withPartitions(view.getPartitionsAsSet()) - .withMaxResultsPerPartition(view.getResultsPerPartition()); + .withMaxResultsPerPartition(view.getResultsPerPartition()) + .withPollTimeoutMs(view.getPollTimeoutMs()); final List recordFilterDefinitions = new ArrayList<>(); diff --git a/kafka-webview-ui/src/main/java/org/sourcelab/kafka/webview/ui/model/View.java b/kafka-webview-ui/src/main/java/org/sourcelab/kafka/webview/ui/model/View.java index ba7afeea..e265f0ca 100644 --- a/kafka-webview-ui/src/main/java/org/sourcelab/kafka/webview/ui/model/View.java +++ b/kafka-webview-ui/src/main/java/org/sourcelab/kafka/webview/ui/model/View.java @@ -73,6 +73,9 @@ public class View { @Column(nullable = false) private Integer resultsPerPartition = 10; + @Column(nullable = false) + private long pollTimeoutMs = 5000; + @OneToMany( fetch = FetchType.LAZY, cascade = { CascadeType.PERSIST, CascadeType.MERGE }, @@ -159,6 +162,14 @@ public void setResultsPerPartition(final Integer resultsPerPartition) { this.resultsPerPartition = resultsPerPartition; } + public long getPollTimeoutMs() { + return pollTimeoutMs; + } + + public void setPollTimeoutMs(long pollTimeoutMs) { + this.pollTimeoutMs = pollTimeoutMs; + } + /** * @return Returns the defined partitions as a Set. */ diff --git a/kafka-webview-ui/src/main/resources/schema/migration/h2/V4__ViewPollTimeout.sql b/kafka-webview-ui/src/main/resources/schema/migration/h2/V4__ViewPollTimeout.sql new file mode 100644 index 00000000..f283deed --- /dev/null +++ b/kafka-webview-ui/src/main/resources/schema/migration/h2/V4__ViewPollTimeout.sql @@ -0,0 +1 @@ +ALTER TABLE `view` ADD COLUMN IF NOT EXISTS poll_timeout_ms INT NOT NULL DEFAULT 5000 AFTER partitions;