Skip to content

Commit 66c860d

Browse files
authored
support Kafka 3.6 (#25)
1 parent 7c45b7a commit 66c860d

File tree

5 files changed

+33
-23
lines changed

5 files changed

+33
-23
lines changed

.circleci/continue_config.yml

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -61,7 +61,7 @@ jobs:
6161
default: '172.28.0.1:8529,172.28.0.1:8539,172.28.0.1:8549'
6262
kafka-version:
6363
type: 'string'
64-
default: '3.5'
64+
default: '3.6'
6565
environment:
6666
STARTER_MODE: <<parameters.topology>>
6767
DOCKER_IMAGE: docker.io/arangodb/arangodb:<<parameters.arango-version>>
@@ -216,6 +216,7 @@ workflows:
216216
matrix:
217217
parameters:
218218
kafka-version:
219+
- '3.6'
219220
- '3.5'
220221
- '3.4'
221222
- '3.3'

demo/docker-compose.yml

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ version: "2"
22

33
services:
44
kafka-1:
5-
image: docker.io/bitnami/kafka:3.5
5+
image: docker.io/bitnami/kafka:3.6
66
ports:
77
- '19092:19092'
88
environment:
@@ -19,7 +19,7 @@ services:
1919
KAFKA_CFG_LISTENER_SECURITY_PROTOCOL_MAP: PLAINTEXT:PLAINTEXT,PLAINTEXT_HOST:PLAINTEXT,CONTROLLER:PLAINTEXT
2020

2121
kafka-2:
22-
image: docker.io/bitnami/kafka:3.5
22+
image: docker.io/bitnami/kafka:3.6
2323
ports:
2424
- '29092:29092'
2525
environment:
@@ -36,7 +36,7 @@ services:
3636
KAFKA_CFG_LISTENER_SECURITY_PROTOCOL_MAP: PLAINTEXT:PLAINTEXT,PLAINTEXT_HOST:PLAINTEXT,CONTROLLER:PLAINTEXT
3737

3838
kafka-3:
39-
image: docker.io/bitnami/kafka:3.5
39+
image: docker.io/bitnami/kafka:3.6
4040
ports:
4141
- '39092:39092'
4242
environment:
@@ -53,7 +53,7 @@ services:
5353
KAFKA_CFG_LISTENER_SECURITY_PROTOCOL_MAP: PLAINTEXT:PLAINTEXT,PLAINTEXT_HOST:PLAINTEXT,CONTROLLER:PLAINTEXT
5454

5555
kafka-connect-1:
56-
image: docker.io/bitnami/kafka:3.5
56+
image: docker.io/bitnami/kafka:3.6
5757
depends_on:
5858
- kafka-1
5959
- kafka-2
@@ -68,7 +68,7 @@ services:
6868
command: /opt/bitnami/kafka/bin/connect-distributed.sh /tmp/connect-distributed-1.properties
6969

7070
kafka-connect-2:
71-
image: docker.io/bitnami/kafka:3.5
71+
image: docker.io/bitnami/kafka:3.6
7272
depends_on:
7373
- kafka-1
7474
- kafka-2

docker/start_schema_registry.sh

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
#!/bin/bash
22

3-
DOCKER_IMAGE=docker.io/confluentinc/cp-schema-registry:7.4.0
3+
DOCKER_IMAGE=docker.io/confluentinc/cp-schema-registry:7.5.2
44
docker pull $DOCKER_IMAGE
55

66
KAFKA_BOOTSTRAP_SERVERS=PLAINTEXT://kafka-1:9092,PLAINTEXT://kafka-2:9092,PLAINTEXT://kafka-3:9092

pom.xml

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -60,8 +60,8 @@
6060
<maven.compiler.source>8</maven.compiler.source>
6161
<maven.compiler.target>8</maven.compiler.target>
6262
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
63-
<kafka.version>3.4.1</kafka.version>
64-
<confluent.version>7.4.0</confluent.version>
63+
<kafka.version>3.6.0</kafka.version>
64+
<confluent.version>7.5.2</confluent.version>
6565
<arangodb.version>7.3.0</arangodb.version>
6666
<jackson.version>2.13.5</jackson.version>
6767
<slf4j.version>1.7.36</slf4j.version>
@@ -269,6 +269,12 @@
269269
<version>1.14.5</version>
270270
<scope>test</scope>
271271
</dependency>
272+
<dependency>
273+
<groupId>org.apache.commons</groupId>
274+
<artifactId>commons-compress</artifactId>
275+
<version>1.22</version>
276+
<scope>test</scope>
277+
</dependency>
272278
</dependencies>
273279
</dependencyManagement>
274280

src/connect-standalone/java/spi/StandaloneKafkaConnectDeployment.java

Lines changed: 17 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -28,13 +28,15 @@
2828
import org.apache.kafka.connect.runtime.Herder;
2929
import org.apache.kafka.connect.runtime.Worker;
3030
import org.apache.kafka.connect.runtime.isolation.Plugins;
31-
import org.apache.kafka.connect.runtime.rest.RestServer;
31+
import org.apache.kafka.connect.runtime.rest.ConnectRestServer;
32+
import org.apache.kafka.connect.runtime.rest.RestClient;
3233
import org.apache.kafka.connect.runtime.standalone.StandaloneConfig;
3334
import org.apache.kafka.connect.runtime.standalone.StandaloneHerder;
3435
import org.apache.kafka.connect.storage.MemoryOffsetBackingStore;
3536

3637
import java.util.HashMap;
3738
import java.util.Map;
39+
import java.util.Set;
3840

3941
public class StandaloneKafkaConnectDeployment extends KafkaConnectDeployment {
4042

@@ -74,19 +76,20 @@ public void start() {
7476

7577
Plugins plugins = new Plugins(workerProps);
7678
StandaloneConfig config = new StandaloneConfig(workerProps);
77-
78-
AllConnectorClientConfigOverridePolicy allConnectorClientConfigOverridePolicy =
79-
new AllConnectorClientConfigOverridePolicy();
80-
81-
Worker worker = new Worker(
82-
workerId, time, plugins, config, new MemoryOffsetBackingStore(),
83-
allConnectorClientConfigOverridePolicy);
84-
Herder herder = new StandaloneHerder(worker, "cluster-id", allConnectorClientConfigOverridePolicy);
85-
86-
RestServer rest = new RestServer(config, null);
87-
rest.initializeServer();
88-
89-
new Connect(herder, rest).start();
79+
AllConnectorClientConfigOverridePolicy allowOverride = new AllConnectorClientConfigOverridePolicy();
80+
MemoryOffsetBackingStore offsetStore = new MemoryOffsetBackingStore() {
81+
@Override
82+
public Set<Map<String, Object>> connectorPartitions(String connectorName) {
83+
throw new UnsupportedOperationException();
84+
}
85+
};
86+
Worker worker = new Worker(workerId, time, plugins, config, offsetStore, allowOverride);
87+
Herder herder = new StandaloneHerder(worker, "cluster-id", allowOverride);
88+
RestClient restClient = new RestClient(config);
89+
ConnectRestServer restServer = new ConnectRestServer(null, restClient, workerProps);
90+
restServer.initializeServer();
91+
92+
new Connect(herder, restServer).start();
9093
}
9194

9295
}

0 commit comments

Comments
 (0)