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

Ismael Juma commented on KAFKA-3827:
------------------------------------

[~mimaison], yes, that bit is still not right given the current implementation, 
but it would be correct if this JIRA is implemented as per Jun's suggestion.

"Does this only affect messages received after the upgrade or new messages as 
well ?"
I don't understand the difference between the two options above, so I'll just 
say that `log.message.format.version=0.9` means that all messages received are 
stored in the old format.

The cost varies based on a number of factors, but it can increase CPU usage 
significantly due to the fact that zero-copy is no longer used. Here's a report 
from the field:
"don't underestimate extra broker load when using old Kafka clients with new 
brokers; went 25% to pegged, rushed client deploys to fix."
https://twitter.com/bretthoerner/status/743227839118344192





> 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