ijuma commented on a change in pull request #8657: URL: https://github.com/apache/kafka/pull/8657#discussion_r452634516
########## File path: core/src/main/scala/kafka/coordinator/group/GroupMetadataManager.scala ########## @@ -239,9 +239,13 @@ class GroupMetadataManager(brokerId: Int, } } + /** + * @return Returning a map of successfully appended topic partitions and a flag indicting whether the HWM has been + * incremented. The caller ought to complete delayed requests for those returned partitions. + */ def storeGroup(group: GroupMetadata, groupAssignment: Map[String, Array[Byte]], - responseCallback: Errors => Unit): Unit = { + responseCallback: Errors => Unit): Map[TopicPartition, LeaderHWChange] = { Review comment: It's weird to have a method that invokes a callback and returns a result. Do we need both? ########## File path: core/src/main/scala/kafka/server/ReplicaManager.scala ########## @@ -65,13 +65,24 @@ import scala.compat.java8.OptionConverters._ /* * Result metadata of a log append operation on the log */ -case class LogAppendResult(info: LogAppendInfo, exception: Option[Throwable] = None) { +case class LogAppendResult(info: LogAppendInfo, + exception: Option[Throwable] = None, + leaderHWChange: LeaderHWChange = LeaderHWChange.None) { def error: Errors = exception match { case None => Errors.NONE case Some(e) => Errors.forException(e) } } +/** + * a flag indicting whether the HWM has been changed. + */ +sealed trait LeaderHWChange +object LeaderHWChange { + case object LeaderHWIncremented extends LeaderHWChange Review comment: The usual naming convention is to only capitalize the first letter, eg LeaderHwChange. ---------------------------------------------------------------- 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. For queries about this service, please contact Infrastructure at: us...@infra.apache.org