This is an automated email from the ASF dual-hosted git repository.

chia7712 pushed a commit to branch trunk
in repository https://gitbox.apache.org/repos/asf/kafka.git


The following commit(s) were added to refs/heads/trunk by this push:
     new 962f4ada75c KAFKA-19203 Replace `ApiError#exception` by 
`Error#exception` for KafkaAdminClient (#19623)
962f4ada75c is described below

commit 962f4ada75cd1ac0a8d3bdd54fcd455a57c8943f
Author: Chang-Chi Hsu <[email protected]>
AuthorDate: Sun Sep 14 01:20:01 2025 +0200

    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]>
---
 .../kafka/clients/admin/KafkaAdminClient.java      | 36 +++++++++-------------
 1 file changed, 14 insertions(+), 22 deletions(-)

diff --git 
a/clients/src/main/java/org/apache/kafka/clients/admin/KafkaAdminClient.java 
b/clients/src/main/java/org/apache/kafka/clients/admin/KafkaAdminClient.java
index 90f83eac935..78a7f905319 100644
--- a/clients/src/main/java/org/apache/kafka/clients/admin/KafkaAdminClient.java
+++ b/clients/src/main/java/org/apache/kafka/clients/admin/KafkaAdminClient.java
@@ -2494,8 +2494,7 @@ public class KafkaAdminClient extends AdminClient {
                     DescribeClusterResponse response = 
(DescribeClusterResponse) abstractResponse;
                     Errors error = Errors.forCode(response.data().errorCode());
                     if (error != Errors.NONE) {
-                        ApiError apiError = new ApiError(error, 
response.data().errorMessage());
-                        handleFailure(apiError.exception());
+                        
handleFailure(error.exception(response.data().errorMessage()));
                         return;
                     }
 
@@ -2691,10 +2690,9 @@ public class KafkaAdminClient extends AdminClient {
                         } else {
                             List<FilterResult> filterResults = new 
ArrayList<>();
                             for (DeleteAclsMatchingAcl matchingAcl : 
filterResult.matchingAcls()) {
-                                ApiError aclError = new 
ApiError(Errors.forCode(matchingAcl.errorCode()),
-                                    matchingAcl.errorMessage());
+                                Errors aclError = 
Errors.forCode(matchingAcl.errorCode());
                                 AclBinding aclBinding = 
DeleteAclsResponse.aclBinding(matchingAcl);
-                                filterResults.add(new FilterResult(aclBinding, 
aclError.exception()));
+                                filterResults.add(new FilterResult(aclBinding, 
aclError.exception(matchingAcl.errorMessage())));
                             }
                             future.complete(new FilterResults(filterResults));
                         }
@@ -3995,7 +3993,7 @@ public class KafkaAdminClient extends AdminClient {
                             for (ReassignablePartitionResponse partition : 
topicResponse.partitions()) {
                                 errors.put(
                                     new TopicPartition(topicName, 
partition.partitionIndex()),
-                                    new ApiError(topLevelError, 
response.data().errorMessage()).exception()
+                                    
topLevelError.exception(response.data().errorMessage())
                                 );
                                 receivedResponsesCount += 1;
                             }
@@ -4035,7 +4033,7 @@ public class KafkaAdminClient extends AdminClient {
                         if (partitionError == Errors.NONE) {
                             errors.put(tp, null);
                         } else {
-                            errors.put(tp, new ApiError(partitionError, 
partResponse.errorMessage()).exception());
+                            errors.put(tp, 
partitionError.exception(partResponse.errorMessage()));
                         }
                         receivedResponsesCount += 1;
                     }
@@ -4111,7 +4109,7 @@ public class KafkaAdminClient extends AdminClient {
                         handleNotControllerError(error);
                         break;
                     default:
-                        partitionReassignmentsFuture.completeExceptionally(new 
ApiError(error, response.data().errorMessage()).exception());
+                        
partitionReassignmentsFuture.completeExceptionally(error.exception(response.data().errorMessage()));
                         break;
                 }
                 Map<TopicPartition, PartitionReassignment> reassignmentMap = 
new HashMap<>();
@@ -4993,14 +4991,11 @@ public class KafkaAdminClient extends AdminClient {
             void handleResponse(AbstractResponse response) {
                 handleNotControllerError(response);
                 AddRaftVoterResponse addResponse = (AddRaftVoterResponse) 
response;
-                if (addResponse.data().errorCode() != Errors.NONE.code()) {
-                    ApiError error = new ApiError(
-                        addResponse.data().errorCode(),
-                        addResponse.data().errorMessage());
-                    future.completeExceptionally(error.exception());
-                } else {
+                Errors error = Errors.forCode(addResponse.data().errorCode());
+                if (error != Errors.NONE)
+                    
future.completeExceptionally(error.exception(addResponse.data().errorMessage()));
+                else
                     future.complete(null);
-                }
             }
 
             @Override
@@ -5038,14 +5033,11 @@ public class KafkaAdminClient extends AdminClient {
             void handleResponse(AbstractResponse response) {
                 handleNotControllerError(response);
                 RemoveRaftVoterResponse addResponse = 
(RemoveRaftVoterResponse) response;
-                if (addResponse.data().errorCode() != Errors.NONE.code()) {
-                    ApiError error = new ApiError(
-                        addResponse.data().errorCode(),
-                        addResponse.data().errorMessage());
-                    future.completeExceptionally(error.exception());
-                } else {
+                Errors error = Errors.forCode(addResponse.data().errorCode());
+                if (error != Errors.NONE)
+                    
future.completeExceptionally(error.exception(addResponse.data().errorMessage()));
+                else
                     future.complete(null);
-                }
             }
 
             @Override

Reply via email to