From d913d17b58e2d9fb18ab5954b69280e8504840ff Mon Sep 17 00:00:00 2001 From: Gwen Shapira Date: Thu, 18 Dec 2014 11:07:59 -0800 Subject: [PATCH 1/2] KAFKA-1824 - fix ConsoleProducer so parse.key and key.separator will work again --- core/src/main/scala/kafka/tools/ConsoleProducer.scala | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/core/src/main/scala/kafka/tools/ConsoleProducer.scala b/core/src/main/scala/kafka/tools/ConsoleProducer.scala index 1061cc7..e011e42 100644 --- a/core/src/main/scala/kafka/tools/ConsoleProducer.scala +++ b/core/src/main/scala/kafka/tools/ConsoleProducer.scala @@ -36,10 +36,8 @@ object ConsoleProducer { val reader = Class.forName(config.readerClass).newInstance().asInstanceOf[MessageReader] val props = new Properties props.putAll(config.cmdLineProps) - - val readerProps = new Properties(props) - readerProps.put("topic", config.topic) - reader.init(System.in, readerProps) + props.put("topic", config.topic) + reader.init(System.in, props) try { val producer = -- 1.9.3 (Apple Git-50) From 94e65ca1f7a3302f2bdc921b886f62de0f4ae4e8 Mon Sep 17 00:00:00 2001 From: Gwen Shapira Date: Thu, 18 Dec 2014 17:55:15 -0800 Subject: [PATCH 2/2] fixing accidental return of "WARN Property topic is not valid" --- core/src/main/scala/kafka/tools/ConsoleProducer.scala | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/core/src/main/scala/kafka/tools/ConsoleProducer.scala b/core/src/main/scala/kafka/tools/ConsoleProducer.scala index e011e42..fc11dd7 100644 --- a/core/src/main/scala/kafka/tools/ConsoleProducer.scala +++ b/core/src/main/scala/kafka/tools/ConsoleProducer.scala @@ -264,12 +264,19 @@ object ConsoleProducer { override def init(inputStream: InputStream, props: Properties) { topic = props.getProperty("topic") - if(props.containsKey("parse.key")) + props.remove("topic") + if(props.containsKey("parse.key")) { parseKey = props.getProperty("parse.key").trim.toLowerCase.equals("true") - if(props.containsKey("key.separator")) + props.remove("parse.key") + } + if(props.containsKey("key.separator")) { keySeparator = props.getProperty("key.separator") - if(props.containsKey("ignore.error")) + props.remove("key.separator") + } + if(props.containsKey("ignore.error")) { ignoreError = props.getProperty("ignore.error").trim.toLowerCase.equals("true") + props.remove("ignore.error") + } reader = new BufferedReader(new InputStreamReader(inputStream)) } -- 1.9.3 (Apple Git-50)