junrao commented on code in PR #17437:
URL: https://github.com/apache/kafka/pull/17437#discussion_r1799892871


##########
core/src/main/scala/kafka/server/ReplicaManager.scala:
##########
@@ -950,6 +983,7 @@ class ReplicaManager(val config: KafkaConfig,
             delayedProducePurgatory.checkAndComplete(requestKey)
             delayedFetchPurgatory.checkAndComplete(requestKey)
             delayedDeleteRecordsPurgatory.checkAndComplete(requestKey)
+            // TODO: We should do a checkAndComplete on 
delayedShareFetchPurgatory once we start using topicId in ProduceRequest RPC.

Review Comment:
   The caller calls `appendToLocalLog`, which has access to `Partition`. We 
could just restructure the code a bit so that we could get topicId from 
`Partition` and pass it here.



##########
core/src/main/java/kafka/server/share/SharePartitionManager.java:
##########
@@ -339,9 +315,9 @@ public CompletableFuture<Map<TopicIdPartition, 
ShareAcknowledgeResponseData.Part
     }
 
     void 
addPurgatoryCheckAndCompleteDelayedActionToActionQueue(Set<TopicIdPartition> 
topicIdPartitions, String groupId) {
-        delayedActionsQueue.add(() -> {
+        replicaManager.addToActionQueue(() -> {

Review Comment:
   Could we get rid of this method and have `DelayedShareFetch` call 
`replicaManager.addToActionQueue` directly?



##########
core/src/test/java/kafka/server/share/SharePartitionManagerTest.java:
##########
@@ -2289,6 +2291,21 @@ static Seq<Tuple2<TopicIdPartition, LogReadResult>> 
buildLogReadResult(Set<Topic
         return CollectionConverters.asScala(logReadResults).toSeq();
     }
 
+    static void mockReplicaManagerDelayedShareFetch(ReplicaManager 
replicaManager,
+                                                    
DelayedOperationPurgatory<DelayedShareFetch> delayedShareFetchPurgatory) {
+        doAnswer(invocationOnMock -> {
+            Object[] args = invocationOnMock.getArguments();
+            delayedShareFetchPurgatory.checkAndComplete((DelayedShareFetchKey) 
args[0]);

Review Comment:
   Is the casting to `DelayedShareFetchKey` redundant?



-- 
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: jira-unsubscr...@kafka.apache.org

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

Reply via email to