[ 
https://issues.apache.org/jira/browse/KAFKA-3827?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15340549#comment-15340549
 ] 

Jun Rao commented on KAFKA-3827:
--------------------------------

[~ewencp], [~ijuma], the issue is that log.message.format.version should always 
be <= inter.broker.protocol.version and typically they should match. The first 
step in our upgrade protocol from 0.9.0 to 0.10.0 is to set 
inter.broker.protocol.version to 0.9.0 to restart the 0.10.0 broker, which will 
trigger the exception in the description. It's weird to force the user to have 
to configure this manually since the only valid log.message.format.version is 
0.9.0 and we should set it properly for the users by default. 

For performance optimization during upgrade, a user may need to explicitly set 
log.message.format.version to 0.9.0. In that case, the users should really read 
the manual for that, right? Relying upon the exception in the jira doesn't 
really prevent people from removing the log.message.format.version setting 
after upgrading to 0.10.0.

> log.message.format.version should default to inter.broker.protocol.version
> --------------------------------------------------------------------------
>
>                 Key: KAFKA-3827
>                 URL: https://issues.apache.org/jira/browse/KAFKA-3827
>             Project: Kafka
>          Issue Type: Improvement
>    Affects Versions: 0.10.0.0
>            Reporter: Jun Rao
>            Assignee: Manasvi Gupta
>              Labels: newbie
>
> Currently, if one sets inter.broker.protocol.version to 0.9.0 and restarts 
> the broker, one will get the following exception since 
> log.message.format.version defaults to 0.10.0. It will be more intuitive if 
> log.message.format.version defaults to the value of 
> inter.broker.protocol.version.
> java.lang.IllegalArgumentException: requirement failed: 
> log.message.format.version 0.10.0-IV1 cannot be used when 
> inter.broker.protocol.version is set to 0.9.0.1
>       at scala.Predef$.require(Predef.scala:233)
>       at kafka.server.KafkaConfig.validateValues(KafkaConfig.scala:1023)
>       at kafka.server.KafkaConfig.<init>(KafkaConfig.scala:994)
>       at kafka.server.KafkaConfig$.fromProps(KafkaConfig.scala:743)
>       at kafka.server.KafkaConfig$.fromProps(KafkaConfig.scala:740)
>       at 
> kafka.server.KafkaServerStartable$.fromProps(KafkaServerStartable.scala:28)
>       at kafka.Kafka$.main(Kafka.scala:58)
>       at kafka.Kafka.main(Kafka.scala)



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to