Skip to content

Commit 962f4ad

Browse files
KAFKA-19203 Replace ApiError#exception by Error#exception for KafkaAdminClient (#19623)
This pull request addresses KAFKA-19203 by replacing `ApiError#exception` with `Error#exception` in `KafkaAdminClient`. The previous use of `ApiError#exception` was redundant, as we only need the exception without the additional wrapping of `ApiError`. ## Changes - Replaced some usages of `ApiError#exception` with `Error#exception` in `KafkaAdminClient`. - Simplified exception handling logic to reduce unnecessary layers. Reviewers: Chia-Ping Tsai <[email protected]>
1 parent 026710c commit 962f4ad

File tree

1 file changed

+14
-22
lines changed

1 file changed

+14
-22
lines changed

clients/src/main/java/org/apache/kafka/clients/admin/KafkaAdminClient.java

Lines changed: 14 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -2494,8 +2494,7 @@ void handleResponse(AbstractResponse abstractResponse) {
24942494
DescribeClusterResponse response = (DescribeClusterResponse) abstractResponse;
24952495
Errors error = Errors.forCode(response.data().errorCode());
24962496
if (error != Errors.NONE) {
2497-
ApiError apiError = new ApiError(error, response.data().errorMessage());
2498-
handleFailure(apiError.exception());
2497+
handleFailure(error.exception(response.data().errorMessage()));
24992498
return;
25002499
}
25012500

@@ -2691,10 +2690,9 @@ void handleResponse(AbstractResponse abstractResponse) {
26912690
} else {
26922691
List<FilterResult> filterResults = new ArrayList<>();
26932692
for (DeleteAclsMatchingAcl matchingAcl : filterResult.matchingAcls()) {
2694-
ApiError aclError = new ApiError(Errors.forCode(matchingAcl.errorCode()),
2695-
matchingAcl.errorMessage());
2693+
Errors aclError = Errors.forCode(matchingAcl.errorCode());
26962694
AclBinding aclBinding = DeleteAclsResponse.aclBinding(matchingAcl);
2697-
filterResults.add(new FilterResult(aclBinding, aclError.exception()));
2695+
filterResults.add(new FilterResult(aclBinding, aclError.exception(matchingAcl.errorMessage())));
26982696
}
26992697
future.complete(new FilterResults(filterResults));
27002698
}
@@ -3995,7 +3993,7 @@ public void handleResponse(AbstractResponse abstractResponse) {
39953993
for (ReassignablePartitionResponse partition : topicResponse.partitions()) {
39963994
errors.put(
39973995
new TopicPartition(topicName, partition.partitionIndex()),
3998-
new ApiError(topLevelError, response.data().errorMessage()).exception()
3996+
topLevelError.exception(response.data().errorMessage())
39993997
);
40003998
receivedResponsesCount += 1;
40013999
}
@@ -4035,7 +4033,7 @@ private int validateTopicResponses(List<ReassignableTopicResponse> topicResponse
40354033
if (partitionError == Errors.NONE) {
40364034
errors.put(tp, null);
40374035
} else {
4038-
errors.put(tp, new ApiError(partitionError, partResponse.errorMessage()).exception());
4036+
errors.put(tp, partitionError.exception(partResponse.errorMessage()));
40394037
}
40404038
receivedResponsesCount += 1;
40414039
}
@@ -4111,7 +4109,7 @@ void handleResponse(AbstractResponse abstractResponse) {
41114109
handleNotControllerError(error);
41124110
break;
41134111
default:
4114-
partitionReassignmentsFuture.completeExceptionally(new ApiError(error, response.data().errorMessage()).exception());
4112+
partitionReassignmentsFuture.completeExceptionally(error.exception(response.data().errorMessage()));
41154113
break;
41164114
}
41174115
Map<TopicPartition, PartitionReassignment> reassignmentMap = new HashMap<>();
@@ -4993,14 +4991,11 @@ AddRaftVoterRequest.Builder createRequest(int timeoutMs) {
49934991
void handleResponse(AbstractResponse response) {
49944992
handleNotControllerError(response);
49954993
AddRaftVoterResponse addResponse = (AddRaftVoterResponse) response;
4996-
if (addResponse.data().errorCode() != Errors.NONE.code()) {
4997-
ApiError error = new ApiError(
4998-
addResponse.data().errorCode(),
4999-
addResponse.data().errorMessage());
5000-
future.completeExceptionally(error.exception());
5001-
} else {
4994+
Errors error = Errors.forCode(addResponse.data().errorCode());
4995+
if (error != Errors.NONE)
4996+
future.completeExceptionally(error.exception(addResponse.data().errorMessage()));
4997+
else
50024998
future.complete(null);
5003-
}
50044999
}
50055000

50065001
@Override
@@ -5038,14 +5033,11 @@ RemoveRaftVoterRequest.Builder createRequest(int timeoutMs) {
50385033
void handleResponse(AbstractResponse response) {
50395034
handleNotControllerError(response);
50405035
RemoveRaftVoterResponse addResponse = (RemoveRaftVoterResponse) response;
5041-
if (addResponse.data().errorCode() != Errors.NONE.code()) {
5042-
ApiError error = new ApiError(
5043-
addResponse.data().errorCode(),
5044-
addResponse.data().errorMessage());
5045-
future.completeExceptionally(error.exception());
5046-
} else {
5036+
Errors error = Errors.forCode(addResponse.data().errorCode());
5037+
if (error != Errors.NONE)
5038+
future.completeExceptionally(error.exception(addResponse.data().errorMessage()));
5039+
else
50475040
future.complete(null);
5048-
}
50495041
}
50505042

50515043
@Override

0 commit comments

Comments
 (0)