Add Ns4Kafka validation before connector offsets reset#858
Draft
AfrinKhan02 wants to merge 3 commits into
Draft
Conversation
|
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.



Context
This PR adds the follow-up validation that was discussed during the review of #821.
Today, when a user tries to reset offsets for a connector that is not stopped, Ns4Kafka delegates the call to Kafka Connect and surfaces the downstream failure. In practice, that ends up returning a Kafka Connect error instead of an Ns4Kafka-owned validation message.
Proposed solution
Add an explicit validation in Ns4Kafka before sending the reset request to Kafka Connect.
If the connector is not in the
STOPPEDstate, Ns4Kafka now fails earlier with its ownResourceValidationExceptionand a dedicated message that tells the user to stop the connector first before retrying the reset.Implementation
I kept the change intentionally small and aligned with the existing code structure introduced by #821.
The implementation adds a connector status check in the reset-offsets service path before calling Kafka Connect reset.
On the service side, the reset flow now:
STOPPEDstateResourceValidationExceptionwith an Ns4Kafka-specific message when the connector is not stoppedTests
The test scope covers:
STOPPEDRemark
This PR is specifically meant to cater the remaining review requirement from #821.