> On March 3, 2014, 7:03 p.m., Guozhang Wang wrote:
> > core/src/main/scala/kafka/server/ReplicaFetcherThread.scala, line 86
> > <https://reviews.apache.org/r/17537/diff/3/?file=456708#file456708line86>
> >
> >     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.

Yes, under normal circumstances the partition would be kept offline until the 
previous leader is available, which would be sufficient to prevent log 
truncation from ever being considered. This code was added as an extra 
safeguard to handle the remote possibility of the config being changed while a 
replica is offline, which I believe is the only way this code path could be 
reached. I tried to describe this in the comment below: "This situation could 
only happen if the unclean election configuration for a topic changes while a 
replica is down. Otherwise, we should never encounter this situation since a 
non-ISR leader cannot be elected if disallowed by the broker configuration."

In the follow-up patch I'll move this comment above the AdminUtils check so 
that it's more visible.


- Andrew


-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/17537/#review35999
-----------------------------------------------------------


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

Reply via email to