diff --git a/debezium-server/debezium-server-kafka/pom.xml b/debezium-server/debezium-server-kafka/pom.xml
index 6452fdc3b..f5270e7c8 100644
--- a/debezium-server/debezium-server-kafka/pom.xml
+++ b/debezium-server/debezium-server-kafka/pom.xml
@@ -1,91 +1,117 @@
-
-
- io.debezium
- debezium-server
- 1.5.0-SNAPSHOT
- ../pom.xml
-
- 4.0.0
- debezium-server-kafka
- Debezium Server Kafka Sink Adapter
- jar
+
+
+
+ io.debezium
+ debezium-server
+ 1.5.0-SNAPSHOT
+ ../pom.xml
+
+ 4.0.0
+ debezium-server-kafka
+ Debezium Server Kafka Sink Adapter
+ jar
-
- true
-
+
+ false
+
+
+
+ io.debezium
+ debezium-server-core
+
-
-
- io.debezium
- debezium-server-core
-
-
-
- io.debezium
- debezium-testing-testcontainers
- test
-
-
- io.debezium
- debezium-server-core
- test-jar
- test
-
-
-
-
-
- io.quarkus
- quarkus-maven-plugin
- ${quarkus.version}
-
-
-
- build
-
-
-
-
-
- org.jboss.jandex
- jandex-maven-plugin
-
-
- make-index
-
- jandex
-
-
-
-
-
- org.apache.maven.plugins
- maven-failsafe-plugin
-
-
- integration-test
-
- integration-test
-
-
-
- verify
-
- verify
-
-
-
-
- ${skipITs}
- true
-
- IT
-
-
-
-
-
-
-
\ No newline at end of file
+
+
+ io.debezium
+ debezium-testing-testcontainers
+ test
+
+
+ io.debezium
+ debezium-server-core
+ test-jar
+ test
+
+
+
+
+
+ io.quarkus
+ quarkus-maven-plugin
+ ${quarkus.version}
+
+
+
+ build
+
+
+
+
+
+ org.jboss.jandex
+ jandex-maven-plugin
+
+
+ make-index
+
+ jandex
+
+
+
+
+
+ org.apache.maven.plugins
+ maven-failsafe-plugin
+
+
+ integration-test
+
+ integration-test
+
+
+
+ verify
+
+ verify
+
+
+
+
+ ${skipITs}
+ true
+
+ IT
+
+
+
+
+
+
+
+ true
+ src/main/resources
+
+ **/build.properties
+
+
+
+
+
+
+
+ skip-integration-tests
+
+ false
+
+ skipITs
+
+
+
+ true
+
+
+
+
diff --git a/debezium-server/debezium-server-kafka/src/main/java/io/debezium/server/kafka/KafkaChangeConsumer.java b/debezium-server/debezium-server-kafka/src/main/java/io/debezium/server/kafka/KafkaChangeConsumer.java
index 249b90557..aac2e2d33 100644
--- a/debezium-server/debezium-server-kafka/src/main/java/io/debezium/server/kafka/KafkaChangeConsumer.java
+++ b/debezium-server/debezium-server-kafka/src/main/java/io/debezium/server/kafka/KafkaChangeConsumer.java
@@ -6,10 +6,8 @@
package io.debezium.server.kafka;
import java.time.Duration;
-import java.util.ArrayList;
import java.util.List;
-import java.util.concurrent.ExecutionException;
-import java.util.concurrent.Future;
+import java.util.concurrent.CountDownLatch;
import javax.annotation.PostConstruct;
import javax.annotation.PreDestroy;
@@ -20,7 +18,6 @@
import org.apache.kafka.clients.producer.KafkaProducer;
import org.apache.kafka.clients.producer.ProducerRecord;
-import org.apache.kafka.clients.producer.RecordMetadata;
import org.eclipse.microprofile.config.Config;
import org.eclipse.microprofile.config.ConfigProvider;
import org.slf4j.Logger;
@@ -72,19 +69,27 @@ void stop() {
producer.close(Duration.ofSeconds(5));
}
catch (Throwable t) {
- LOGGER.warn("Could not close producer", t);
+ LOGGER.warn("Could not close producer {}", t);
}
}
}
@Override
public void handleBatch(final List> records, final RecordCommitter> committer) throws InterruptedException {
- final List> futures = new ArrayList<>();
+ final CountDownLatch latch = new CountDownLatch(records.size());
for (ChangeEvent