[ https://issues.apache.org/jira/browse/KAFKA-3982?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15390181#comment-15390181 ]
ASF GitHub Bot commented on KAFKA-3982: --------------------------------------- GitHub user vahidhashemian opened a pull request: https://github.com/apache/kafka/pull/1655 KAFKA-3982: Fix processing order of some of the consumer properties This PR updates processing of console consumer's input properties. For both old and new consumer, the value provided for `auto.offset.reset` indirectly through `consumer.config` or `consumer.property` arguments will now take effect. For new consumer and for `key.deserializer` and `value.deserializer` properties, the precedence order is fixed to first the value directly provided as an argument, then the value provided indirectly via `consumer.property` and then `consumer.config`, and finally a default value. You can merge this pull request into a Git repository by running: $ git pull https://github.com/vahidhashemian/kafka KAFKA-3982 Alternatively you can review and apply these changes as the patch at: https://github.com/apache/kafka/pull/1655.patch To close this pull request, make a commit to your master/trunk branch with (at least) the following in the commit message: This closes #1655 ---- commit 6e112c8d097d55cbd5cd6dd81077180b89f175e3 Author: Vahid Hashemian <vahidhashem...@us.ibm.com> Date: 2016-07-22T20:48:59Z KAFKA-3982: Fix processing order of some of the consumer properties This PR updates processing of console consumer's input properties. For both old and new consumer, the value provided for `auto.offset.reset` indirectly through `consumer.config` or `consumer.property` arguments will now take effect. For new consumer and for `key.deserializer` and `value.deserializer` properties, the precedence is fixed to first the value directly provided as an argument, then the value provided indirectly via `consumer.property` and then `consumer.config`, and finally a default value. ---- > Issue with processing order of consumer properties in console consumer > ---------------------------------------------------------------------- > > Key: KAFKA-3982 > URL: https://issues.apache.org/jira/browse/KAFKA-3982 > Project: Kafka > Issue Type: Bug > Components: consumer > Reporter: Vahid Hashemian > Assignee: Vahid Hashemian > Priority: Minor > > With the recent introduction of {{consumer.property}} argument in console > consumer, both new and old consumer could overwrite certain properties > provided using this new argument. > Specifically, the old consumer would overwrite the values provided for > [{{auto.offset.reset}}|https://github.com/apache/kafka/blob/10bbffd75439e10fe9db6cf0aa48a7da7e386ef3/core/src/main/scala/kafka/tools/ConsoleConsumer.scala#L173] > and > [{{zookeeper.connect}}|https://github.com/apache/kafka/blob/10bbffd75439e10fe9db6cf0aa48a7da7e386ef3/core/src/main/scala/kafka/tools/ConsoleConsumer.scala#L174], > and the new consumer would overwrite the values provided for > [{{auto.offset.reset}}|https://github.com/apache/kafka/blob/10bbffd75439e10fe9db6cf0aa48a7da7e386ef3/core/src/main/scala/kafka/tools/ConsoleConsumer.scala#L196], > > [{{bootstrap.servers}}|https://github.com/apache/kafka/blob/10bbffd75439e10fe9db6cf0aa48a7da7e386ef3/core/src/main/scala/kafka/tools/ConsoleConsumer.scala#L197], > > [{{key.deserializer}}|https://github.com/apache/kafka/blob/10bbffd75439e10fe9db6cf0aa48a7da7e386ef3/core/src/main/scala/kafka/tools/ConsoleConsumer.scala#L198], > and > [{{key.deserializer}}|https://github.com/apache/kafka/blob/10bbffd75439e10fe9db6cf0aa48a7da7e386ef3/core/src/main/scala/kafka/tools/ConsoleConsumer.scala#L199]. > For example, running the old consumer as {{bin/kafka-console-consumer.sh > --zookeeper localhost:2181 --topic foo --consumer-property > auto.offset.reset=none}} the value that's eventually selected for > {{auto.offset.reset}} will be {{largest}}, overwriting what the user provides > in the command line. > This seems to be because the properties provided via {{consumer.property}} > argument are not considered when finalizing the configuration of the consumer. > Some properties can now be provided in three different places (directly in > the command line, via the {{consumer.property}} argument, and via the > {{consumer.config}} argument, in the same order of precedence). -- This message was sent by Atlassian JIRA (v6.3.4#6332)