Migration on Confluent Platform
This guide follows the Quickstart for Confluent Platform.
-
Open the Confluent Control Center instance at
http://localhost:9021/clusters
and find the registered source or sink connector. Once found, delete it. -
Look at the logs for the
connect
container (docker-compose logs -f connect
). A migrated configuration will be printed to the logs as part of the connector deletion/shutdown. Example:connect | [2024-09-04 09:18:40,066] INFO The migrated settings for 5.1 version of Neo4j Source Connector 'Neo4jSourceConnectorAVRO' is: `{ connect | "connector.class" : "org.neo4j.connectors.kafka.source.Neo4jConnector", connect | "neo4j.authentication.basic.password" : "", connect | "neo4j.uri" : "bolt://neo4j:7687", connect | "neo4j.query" : "MATCH (ts:TestSource) WHERE ts.timestamp > $lastCheck RETURN ts.name AS name, ts.surname AS surname, ts.timestamp AS timestamp", connect | "neo4j.query.streaming-property" : "timestamp", connect | "value.converter.schema.registry.url" : "http://schema-registry:8081", connect | "task.class" : "streams.kafka.connect.source.Neo4jSourceTask", connect | "neo4j.authentication.basic.username" : "neo4j", connect | "name" : "Neo4jSourceConnectorAVRO", connect | "neo4j.query.topic" : "my-topic", connect | "value.converter" : "io.confluent.connect.avro.AvroConverter", connect | "key.converter" : "io.confluent.connect.avro.AvroConverter", connect | "key.converter.schema.registry.url" : "http://schema-registry:8081", connect | "neo4j.query.poll-interval" : "5000ms", connect | "neo4j.start-from" : "USER_PROVIDED", connect | "neo4j.start-from.value" : 1725441505774 connect | }` (streams.kafka.connect.source.Neo4jSourceService)
-
Create a new JSON file
(source/sink)_migrated.neo4j.json
and copy the migrated example config to this file along with the connector name. The configuration should contain aname
property and the migrated configuration should be nested in theconfig
key. -
Validate that the new configuration contains all the relevant keys compared with the previous version of the connector configuration.
-
See Source Configuration Settings and Sink Configuration Settings for descriptions and examples of the new configuration options.
-
If migrating the Source component, make note of the
neo4j.start-from.value
that has been set to the last checked offset. -
Replace the sensitive values.
Sensitive values in the original configuration are not printed in the migrated configuration. These keys need to be filled in with the appropriate values. The affected configuration keys are neo4j.authentication.basic.password
andneo4j.authentication.kerberos.ticket
.
-
-
Download the new connector version following the Installation guide and remove the original 5.0.x connector version. Make sure to copy the new plugin into the
./plugins/
folder created during the Docker setup. -
Restart the Kafka Connect Worker by running
docker-compose restart connect
. This allows the Kafka Connect platform to pick up the new plugin from the./plugins/
folder. -
Continue following the Quickstart for Confluent Platform to deploy the plugin to Kafka Connect with the new configuration.
-
Once the connector is up and running, validate it is successfully running.