gaoran10 commented on code in PR #23072:
URL: https://github.com/apache/pulsar/pull/23072#discussion_r1694935489


##########
pulsar-broker/src/main/java/org/apache/pulsar/broker/service/Consumer.java:
##########
@@ -531,14 +532,15 @@ public CompletableFuture<Void> messageAcked(CommandAck 
ack) {
 
     //this method is for individual ack not carry the transaction
     private CompletableFuture<Long> individualAckNormal(CommandAck ack, 
Map<String, Long> properties) {
-        List<Position> positionsAcked = new ArrayList<>();
+        List<Pair<Consumer, Position>> positionsAcked = new ArrayList<>();
         long totalAckCount = 0;
         for (int i = 0; i < ack.getMessageIdsCount(); i++) {
             MessageIdData msgId = ack.getMessageIdAt(i);
             Position position;
-            long ackedCount = 0;
-            long batchSize = getBatchSize(msgId);
-            Consumer ackOwnerConsumer = 
getAckOwnerConsumer(msgId.getLedgerId(), msgId.getEntryId());
+            Pair<Consumer, Long> ackOwnerConsumerPair = 
getAckOwnerConsumer(msgId.getLedgerId(), msgId.getEntryId());

Review Comment:
   Maybe we shouldn't use `this` as the owner broker if we can't find the ack 
position in the consumer pending ack cache. For example:
   
   1. Someone didn't consume messages and ack a position directly.
   2. The broker restart.



-- 
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: commits-unsubscr...@pulsar.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org

Reply via email to