lhotari commented on code in PR #25070:
URL: https://github.com/apache/pulsar/pull/25070#discussion_r2661581425
##########
pulsar-broker/src/main/java/org/apache/pulsar/broker/service/TopicListService.java:
##########
@@ -218,31 +263,100 @@ public void handleWatchTopicList(NamespaceName
namespaceName, long watcherId, lo
});
}
+ private void sendTopicListSuccessWithPermitAcquiringRetries(long
watcherId, long requestId, List<String> topicList,
+ String hash,
+ Runnable
successfulCompletionCallback) {
+ performOperationWithPermitAcquiringRetries(watcherId, "topic list
success", permitAcquireErrorHandler ->
Review Comment:
In this case, there isn't a possibility for a reordering problem with
`sendTopicListSuccessWithPermitAcquiringRetries` since the updates will get
buffered until the topic list success has been sent out. I agree that the
out-of-order case is possible for `sendTopicListUpdate` method. In that case,
it would be necessary to apply the queuing/buffering solution in
TopicListWatcher class to all updates and only send out the next update after
the previous update finishes. I'll think about handling that.
--
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]