omkreddy commented on code in PR #16727:
URL: https://github.com/apache/kafka/pull/16727#discussion_r1709165204


##########
clients/src/main/java/org/apache/kafka/clients/consumer/internals/ShareConsumeRequestManager.java:
##########
@@ -84,11 +83,12 @@ public class ShareConsumeRequestManager implements 
RequestManager, MemberStateLi
     private Uuid memberId;
     private boolean fetchMoreRecords = false;
     private final Map<TopicIdPartition, Acknowledgements> 
fetchAcknowledgementsMap;
-    private final Queue<AcknowledgeRequestState> acknowledgeRequestStates;
+    private final Map<Integer, Pair<AcknowledgeRequestState>> 
acknowledgeRequestStates;
     private final long retryBackoffMs;
     private final long retryBackoffMaxMs;
     private boolean closing = false;
     private final CompletableFuture<Void> closeFuture;
+    private boolean isAsyncDone = false;

Review Comment:
   Can we make this as local variable?



##########
clients/src/main/java/org/apache/kafka/clients/consumer/internals/ShareConsumeRequestManager.java:
##########
@@ -518,33 +609,49 @@ private void handleShareAcknowledgeSuccess(Node 
fetchTarget,
 
             if (!handler.handleResponse(response, requestVersion)) {
                 acknowledgeRequestState.onFailedAttempt(currentTimeMs);
-                if (response.error().exception() instanceof RetriableException 
&& !closing) {
+                log.warn("OnFailAttempt1");

Review Comment:
   unwanted log?



##########
clients/src/main/java/org/apache/kafka/clients/consumer/internals/ShareConsumeRequestManager.java:
##########
@@ -749,58 +869,104 @@ UnsentRequest buildRequest(long currentTimeMs) {
 
             BiConsumer<ClientResponse, Throwable> responseHandler = 
(clientResponse, error) -> {
                 if (error != null) {
-                    onFailedAttempt(currentTimeMs);
                     errorHandler.handle(nodeToSend, requestBuilder.data(), 
this, error, currentTimeMs);
                     processingComplete();
                 } else {
                     successHandler.handle(nodeToSend, requestBuilder.data(), 
this, clientResponse, currentTimeMs);
+                    if (onClose && !closeFuture.isDone()) {
+                        closeFuture.complete(null);
+                    }
                 }
             };
 
             if (requestBuilder == null) {
-                log.trace("Building ShareAcknowledge request to send to node 
{} failed", nodeToSend.id());
                 handleSessionErrorCode(Errors.SHARE_SESSION_NOT_FOUND);
                 return null;
             } else {
-                log.trace("Building ShareAcknowledge request to send to node 
{}", nodeToSend.id());
+                inFlightAcknowledgements.putAll(finalAcknowledgementsToSend);
+                if (incompleteAcknowledgements.isEmpty()) {
+                    acknowledgementsToSend.clear();
+                } else {
+                    incompleteAcknowledgements.clear();

Review Comment:
   This line may not be required. 



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]

Reply via email to