horizonzy commented on code in PR #17056:
URL: https://github.com/apache/pulsar/pull/17056#discussion_r943147813


##########
pulsar-broker/src/main/java/org/apache/pulsar/broker/service/persistent/PersistentDispatcherMultipleConsumers.java:
##########
@@ -791,7 +791,8 @@ public synchronized void 
readEntriesFailed(ManagedLedgerException exception, Obj
                 // Notify the consumer only if all the messages were already 
acknowledged
                 consumerList.forEach(Consumer::reachedEndOfTopic);
             }
-        } else if (exception.getCause() instanceof 
TransactionBufferException.TransactionNotSealedException) {
+        } else if (exception.getCause() instanceof 
TransactionBufferException.TransactionNotSealedException
+                || exception.getCause() instanceof 
ManagedLedgerException.OffloadReadHandleClosedException) {

Review Comment:
   Yes, it's difficult to handle the race condition, the offload read handle 
execute read operation in offload-executor, before the read real execute, the 
read handle maybe invalidated.



-- 
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