You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@kafka.apache.org by "ASF GitHub Bot (JIRA)" <ji...@apache.org> on 2016/07/22 20:56:20 UTC

[jira] [Commented] (KAFKA-3982) Issue with processing order of consumer properties in console consumer

    [ 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 <va...@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)