----------------------------------------------------------- This is an automatically generated e-mail. To reply, visit: https://reviews.apache.org/r/17537/#review35999 -----------------------------------------------------------
core/src/main/scala/kafka/admin/AdminUtils.scala <https://reviews.apache.org/r/17537/#comment66788> "unclean leader" is a bit confusing, how about uncleanLeaderElectionEnabled? core/src/main/scala/kafka/controller/PartitionLeaderSelector.scala <https://reviews.apache.org/r/17537/#comment66790> Not sure throwing an exception is the right behavior here? If unclean election is disabled, which means we choose consistency over availability, when ISR is empty we should keep the partition as offline from the clients until it is not empty. Throwing an exception will just halt the whole partition state change process, but may not necessarily resume when the ISR has changed. Could you confirm in your integration tests if this is the case? core/src/main/scala/kafka/server/ReplicaFetcherThread.scala <https://reviews.apache.org/r/17537/#comment66799> I am not sure we need to check the unclean election flag here. If we can keep the partition as offline for clients in the controller phase, will that be sufficient since no data will be appended/consumed from these replica logs until that is unblocked? As for reading the configs, I agree that if we consider per-topic configs then we probably need to read it from ZK. - Guozhang Wang On Jan. 30, 2014, 7:45 p.m., Andrew Olson wrote: > > ----------------------------------------------------------- > This is an automatically generated e-mail. To reply, visit: > https://reviews.apache.org/r/17537/ > ----------------------------------------------------------- > > (Updated Jan. 30, 2014, 7:45 p.m.) > > > Review request for kafka. > > > Bugs: KAFKA-1028 > https://issues.apache.org/jira/browse/KAFKA-1028 > > > Repository: kafka > > > Description > ------- > > KAFKA-1028: per topic configuration of preference for consistency over > availability > > > Diffs > ----- > > core/src/main/scala/kafka/admin/AdminUtils.scala > a167756f0fd358574c8ccb42c5c96aaf13def4f5 > core/src/main/scala/kafka/common/NoReplicaOnlineException.scala > a1e12794978adf79020936c71259bbdabca8ee68 > core/src/main/scala/kafka/controller/KafkaController.scala > a0267ae2670e8d5f365e49ec0fa5db1f62b815bf > core/src/main/scala/kafka/controller/PartitionLeaderSelector.scala > fd9200f3bf941aab54df798bb5899eeb552ea3a3 > core/src/main/scala/kafka/log/LogConfig.scala > 0b32aeeffcd9d4755ac90573448d197d3f729749 > core/src/main/scala/kafka/server/KafkaConfig.scala > 3c3aafc2b3f06fc8f3168a8a9c1e0b08e944c1ef > core/src/main/scala/kafka/server/ReplicaFetcherThread.scala > 73e605eb31bc71642d48b0bb8bd1632fd70b9dca > core/src/test/scala/unit/kafka/integration/RollingBounceTest.scala > b585f0ec0b1c402d95a3b34934dab7545dcfcb1f > core/src/test/scala/unit/kafka/integration/UncleanLeaderElectionTest.scala > PRE-CREATION > core/src/test/scala/unit/kafka/server/KafkaConfigTest.scala > 89c207a3f56c7a7711f8cee6fb277626329882a6 > core/src/test/scala/unit/kafka/utils/TestUtils.scala > 426b1a7bea1d83a64081f2c6b672c88c928713b7 > > Diff: https://reviews.apache.org/r/17537/diff/ > > > Testing > ------- > > > Thanks, > > Andrew Olson > >