Skip to content

Commit 72a22f8

Browse files
committed
Merge pull request #24582 from martindacos
* pr/24582: Polish "Allow to configure Kafka Listener's onlyLogRecordMetadata" Allow to configure Kafka Listener's onlyLogRecordMetadata Closes gh-24582
2 parents 1d7bda8 + ec68360 commit 72a22f8

File tree

4 files changed

+18
-0
lines changed

4 files changed

+18
-0
lines changed

Diff for: spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/kafka/ConcurrentKafkaListenerContainerFactoryConfigurer.java

+1
Original file line numberDiff line numberDiff line change
@@ -189,6 +189,7 @@ private void configureContainer(ContainerProperties container) {
189189
map.from(properties::getMonitorInterval).as(Duration::getSeconds).as(Number::intValue)
190190
.to(container::setMonitorInterval);
191191
map.from(properties::getLogContainerConfig).to(container::setLogContainerConfig);
192+
map.from(properties::isOnlyLogRecordMetadata).to(container::setOnlyLogRecordMetadata);
192193
map.from(properties::isMissingTopicsFatal).to(container::setMissingTopicsFatal);
193194
map.from(this.transactionManager).to(container::setTransactionManager);
194195
map.from(this.rebalanceListener).to(container::setConsumerRebalanceListener);

Diff for: spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/kafka/KafkaProperties.java

+14
Original file line numberDiff line numberDiff line change
@@ -913,6 +913,12 @@ public enum Type {
913913
*/
914914
private Boolean logContainerConfig;
915915

916+
/**
917+
* Whether to suppress the entire record from being written to the log when
918+
* retries are being attempted.
919+
*/
920+
private boolean onlyLogRecordMetadata;
921+
916922
/**
917923
* Whether the container should fail to start if at least one of the configured
918924
* topics are not present on the broker.
@@ -1015,6 +1021,14 @@ public void setLogContainerConfig(Boolean logContainerConfig) {
10151021
this.logContainerConfig = logContainerConfig;
10161022
}
10171023

1024+
public boolean isOnlyLogRecordMetadata() {
1025+
return this.onlyLogRecordMetadata;
1026+
}
1027+
1028+
public void setOnlyLogRecordMetadata(boolean onlyLogRecordMetadata) {
1029+
this.onlyLogRecordMetadata = onlyLogRecordMetadata;
1030+
}
1031+
10181032
public boolean isMissingTopicsFatal() {
10191033
return this.missingTopicsFatal;
10201034
}

Diff for: spring-boot-project/spring-boot-autoconfigure/src/test/java/org/springframework/boot/autoconfigure/kafka/KafkaAutoConfigurationTests.java

+2
Original file line numberDiff line numberDiff line change
@@ -392,6 +392,7 @@ void listenerProperties() {
392392
"spring.kafka.listener.no-poll-threshold=2.5", "spring.kafka.listener.type=batch",
393393
"spring.kafka.listener.idle-between-polls=1s", "spring.kafka.listener.idle-event-interval=1s",
394394
"spring.kafka.listener.monitor-interval=45", "spring.kafka.listener.log-container-config=true",
395+
"spring.kafka.listener.only-log-record-metadata=true",
395396
"spring.kafka.listener.missing-topics-fatal=true", "spring.kafka.jaas.enabled=true",
396397
"spring.kafka.producer.transaction-id-prefix=foo", "spring.kafka.jaas.login-module=foo",
397398
"spring.kafka.jaas.control-flag=REQUISITE", "spring.kafka.jaas.options.useKeyTab=true")
@@ -418,6 +419,7 @@ void listenerProperties() {
418419
assertThat(containerProperties.getIdleEventInterval()).isEqualTo(1000L);
419420
assertThat(containerProperties.getMonitorInterval()).isEqualTo(45);
420421
assertThat(containerProperties.isLogContainerConfig()).isTrue();
422+
assertThat(containerProperties.isOnlyLogRecordMetadata()).isTrue();
421423
assertThat(containerProperties.isMissingTopicsFatal()).isTrue();
422424
assertThat(kafkaListenerContainerFactory).extracting("concurrency").isEqualTo(3);
423425
assertThat(kafkaListenerContainerFactory.isBatchListener()).isTrue();

Diff for: spring-boot-project/spring-boot-autoconfigure/src/test/java/org/springframework/boot/autoconfigure/kafka/KafkaPropertiesTests.java

+1
Original file line numberDiff line numberDiff line change
@@ -47,6 +47,7 @@ void isolationLevelEnumConsistentWithKafkaVersion() {
4747
void listenerDefaultValuesAreConsistent() {
4848
ContainerProperties container = new ContainerProperties("test");
4949
Listener listenerProperties = new KafkaProperties().getListener();
50+
assertThat(listenerProperties.isOnlyLogRecordMetadata()).isEqualTo(container.isOnlyLogRecordMetadata());
5051
assertThat(listenerProperties.isMissingTopicsFatal()).isEqualTo(container.isMissingTopicsFatal());
5152
}
5253

0 commit comments

Comments
 (0)