hachikuji commented on code in PR #11951:
URL: https://github.com/apache/kafka/pull/11951#discussion_r857852045


##########
core/src/main/scala/kafka/server/BrokerLifecycleManager.scala:
##########
@@ -333,7 +353,11 @@ class BrokerLifecycleManager(val config: KafkaConfig,
   }
 
   private def sendBrokerHeartbeat(): Unit = {
-    val metadataOffset = _highestMetadataOffsetProvider()
+    val metadataOffset = if (readyToUnfence) {

Review Comment:
   Ok, I think I get it now. We don't begin publishing until the controller 
lets us know that we are caught up. That's the part I was missing. We might 
need to step back and reconsider this. Letting the reported offset in 
`BrokerHeartbeat` mean different things depending on the context seems 
undesirable. Does it give us any additional guarantees? Even after the 
controller marks the follower as "caught up," there is still a delay before the 
broker can publish the data. Additionally, would it be possible for the offset 
to go backwards when we switch to the published offset? It would be odd if we 
could end up going back to an offset which was not considered caught up.  What 
do you think? 
   
   



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