----------------------------------------------------------- This is an automatically generated e-mail. To reply, visit: https://reviews.apache.org/r/31967/#review77810 -----------------------------------------------------------
Thanks for the new patch. A couple of more comments. core/src/main/scala/kafka/cluster/Partition.scala <https://reviews.apache.org/r/31967/#comment126109> I think the condition for both cases can now be combined. If we maintain a lastCaughtUpTime (see the comment below) in Replica, then a replica r is out of sync if currentTime - r.lastCaughtUpTime > maxLagMs. We can probably also get rid of Replica.logEndOffsetUpdateTimeMs. core/src/main/scala/kafka/cluster/Replica.scala <https://reviews.apache.org/r/31967/#comment126099> Would it be simpler to instead keeping track of a lastCaughtUpTime and updating it every time readToEndOfEnd is true? If readToEndOfEnd is false, we will just leave that value untouched. - Jun Rao On March 25, 2015, 8:27 p.m., Aditya Auradkar wrote: > > ----------------------------------------------------------- > This is an automatically generated e-mail. To reply, visit: > https://reviews.apache.org/r/31967/ > ----------------------------------------------------------- > > (Updated March 25, 2015, 8:27 p.m.) > > > Review request for kafka. > > > Bugs: KAFKA-1546 > https://issues.apache.org/jira/browse/KAFKA-1546 > > > Repository: kafka > > > Description > ------- > > PATCH for KAFKA-1546 > > > PATCH for KAFKA-1546 > > Brief summary of changes: > - Added a lagBegin metric inside Replica to track the lag in terms of time > since the replica did not read from the LEO > - Using lag begin value in the check for ISR expand and shrink > - Removed the max lag messages config since it is no longer necessary > - Returning the initialLogEndOffset in LogReadResult corresponding to the the > LEO before actually reading from the log. > - Unit test cases to test ISR shrinkage and expansion > > Updated KAFKA-1546 patch to reflect Neha and Jun's comments > > > Addressing Joel's comments > > > Diffs > ----- > > core/src/main/scala/kafka/cluster/Partition.scala > c4bf48a801007ebe7497077d2018d6dffe1677d4 > core/src/main/scala/kafka/cluster/Replica.scala > bd13c20338ce3d73113224440e858a12814e5adb > core/src/main/scala/kafka/log/Log.scala > 06b8ecc5d11a1acfbaf3c693c42bf3ce5b2cd86d > core/src/main/scala/kafka/server/FetchDataInfo.scala > 26f278f9b75b1c9c83a720ca9ebd8ab812d19d39 > core/src/main/scala/kafka/server/KafkaConfig.scala > 46d21c73f1feb3410751899380b35da0c37c975c > core/src/main/scala/kafka/server/ReplicaManager.scala > c5274822c57bf3c1f9e4135c0bdcaa87ee50ce20 > core/src/test/scala/unit/kafka/server/ISRExpirationTest.scala > 92152358c95fa9178d71bd1c079af0a0bd8f1da8 > core/src/test/scala/unit/kafka/server/KafkaConfigConfigDefTest.scala > 191251d1340b5e5b2d649b37af3c6c1896d07e6e > core/src/test/scala/unit/kafka/server/LogRecoveryTest.scala > 92d6b2c672f74cdd526f2e98da8f7fb3696a88e3 > core/src/test/scala/unit/kafka/server/SimpleFetchTest.scala > efb457334bd87e4c5b0dd2c66ae1995993cd0bc1 > > Diff: https://reviews.apache.org/r/31967/diff/ > > > Testing > ------- > > > Thanks, > > Aditya Auradkar > >