question-mark
Stuck on an issue?

Lightrun Answers was designed to reduce the constant googling that comes with debugging 3rd party libraries. It collects links to all the places you might be looking at while hunting down a tough bug.

And, if you’re still stuck at the end, we’re happy to hop on a call to see how we can help out.

[Enhancement] Upon kctr deletion wait until the connector is stopped

See original GitHub issue

Is your feature request related to a problem? Please describe. In our case we create one connector (kctr1) to do some initial work, later we delete kctr1 and create kctr2 to continue. The operator doesn’t wait until a connector is stopped and removed from the Kafka Connect cluster. This results in kctr1 and kctr2 overlapping and producing invalid data. This forces us after issuing kctr1 deletion to call Kafka Connect API to see if the connector has been stopped and deleted.

Describe the solution you’d like Ideally the operator should consult GET /connectors/<connector name>/status on whether the connector has been stopped and deleted from the cluster before deleting the corresponding Kubernetes resource. This would allow for kubectl delete kctr <connector name> --wait=true to behave correcly. Currently this command waits only untill the connector’s configuration is removed from Kafka Connect cluster which doesn’t mean the connector itself is gone.

Issue Analytics

  • State:closed
  • Created 3 years ago
  • Comments:7 (4 by maintainers)

github_iconTop GitHub Comments

1reaction
scholzjcommented, Nov 18, 2020

The additional check for the status should be in the 0.21.0 release.

0reactions
morozovcommented, Nov 2, 2020

[…] why are you deleting and creating connector instead of just updating it for example.

Our use case is that we create a Debezium connector pointed to an existing production database. In order to avoid the full DB lock during the snapshot, we make a clone of the DB, run the snapshot reader against the clone and then run the binlog reader against the actual DB.

The snapshot and the binlog readers cannot be represented by the same connector because they cannot share the config, offsets, etc. and should be run consequently.

[…] what exactly is the overlap […]

I don’t remember exactly. We experienced some Kafka Producer level errors that pointed out that there is an overlap possible between the connectors.

But assuming it is true fixing it should for example make sure a new reconciliation does not start before the old one is finished (=> the old connector properly deleted). So that alone could help.

Would you consider implementing it in Strimzi? Is it possible that despite the real order of events: “old deleted”, “new created”, Strimzi will receive “new created” first, start reconciliation, and only then will receive “old deleted”?

Read more comments on GitHub >

github_iconTop Results From Across the Web

Azure AD Connect sync: Prevent accidental deletes
To see which objects are about to be deleted, do the following: Start Synchronization Service from the Start Menu. Go to Connectors. Select...
Read more >
Deploying and Upgrading Strimzi
Restart connectors. Restart connector tasks, including failed tasks. Pause a connector instance. Resume a previously paused connector instance.
Read more >
Deploying and Upgrading AMQ Streams on OpenShift
Deploy AMQ Streams 2.1 on OpenShift Container Platform ... Wait for the new container image to build, and for the Kafka Connect cluster...
Read more >
What happens when a connector is deleted? - Kenna FAQ
Deletion time for a connector can vary depending on the number of vulnerabilities. You may see some assets/risk meters continue to show a...
Read more >
Deleting the DataStax Apache Pulsar™ Connector
Stop the Pulsar service: bin/pulsar-daemon stop standalone doing stop standalone ... · Remove the DataStax Apache Pulsar™ Connector from the connectors directory ...
Read more >

github_iconTop Related Medium Post

No results found

github_iconTop Related StackOverflow Question

No results found

github_iconTroubleshoot Live Code

Lightrun enables developers to add logs, metrics and snapshots to live code - no restarts or redeploys required.
Start Free

github_iconTop Related Reddit Thread

No results found

github_iconTop Related Hackernoon Post

No results found

github_iconTop Related Tweet

No results found

github_iconTop Related Dev.to Post

No results found

github_iconTop Related Hashnode Post

No results found