[jira] [Commented] (KAFKA-1654) Provide a way to override server configuration from command line
[ https://issues.apache.org/jira/browse/KAFKA-1654?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14222431#comment-14222431 ] Jarek Jarcec Cecho commented on KAFKA-1654: --- Thanks for the good feedback [~nehanarkhede]! {quote} 1. The script for starting kafka (bin/kafka-server-start.sh) prints a different help message compared to the one in kafka.Kafka. Since that is the script used by everyone to start Kafka, it is worth fixing it there. {quote} Good point, I've missed that and fixed in latest patch. It's a bit unfortunate that we're parsing the arguments in two places, perhaps that is something that we can improve in subsequent JIRA. {quote} 2. The properties have to be specified before the server.properties file. I found it more natural to specify it after the server.properties in the following manner. bin/kafka-server-start.sh config/server.properties --override property=value {quote} I personally don't have any preference on this matter, so I've incorporated it into my latest patch :) Provide a way to override server configuration from command line Key: KAFKA-1654 URL: https://issues.apache.org/jira/browse/KAFKA-1654 Project: Kafka Issue Type: Improvement Components: core Affects Versions: 0.8.1.1 Reporter: Jarek Jarcec Cecho Assignee: Jarek Jarcec Cecho Fix For: 0.8.3 Attachments: KAFKA-1654.patch, KAFKA-1654.patch, KAFKA-1654.patch, KAFKA-1654.patch I've been recently playing with Kafka and I found the current way of server configuration quite inflexible. All the configuration options have to be inside a properties file and there is no way how they can be overridden for execution. In order to temporarily change one property I had to copy the config file and change the property there. Hence, I'm wondering if people would be open to provide a way how to specify and override the configs from the command line when starting Kafka? Something like: {code} ./bin/kafka-server-start.sh -Dmy.cool.property=X kafka.properties {code} or {code} ./bin/kafka-server-start.sh --set my.cool.property=X kafka.properties {code} I'm more than happy to take a stab at it, but I would like to see if there is an interest for such capability? -- This message was sent by Atlassian JIRA (v6.3.4#6332)
[jira] [Commented] (KAFKA-1654) Provide a way to override server configuration from command line
[ https://issues.apache.org/jira/browse/KAFKA-1654?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14222559#comment-14222559 ] Neha Narkhede commented on KAFKA-1654: -- Thanks for the patches. Renamed KafkaTest to KafkaConfigTest and pushed to trunk. Provide a way to override server configuration from command line Key: KAFKA-1654 URL: https://issues.apache.org/jira/browse/KAFKA-1654 Project: Kafka Issue Type: Improvement Components: core Affects Versions: 0.8.1.1 Reporter: Jarek Jarcec Cecho Assignee: Jarek Jarcec Cecho Fix For: 0.8.3 Attachments: KAFKA-1654.patch, KAFKA-1654.patch, KAFKA-1654.patch, KAFKA-1654.patch I've been recently playing with Kafka and I found the current way of server configuration quite inflexible. All the configuration options have to be inside a properties file and there is no way how they can be overridden for execution. In order to temporarily change one property I had to copy the config file and change the property there. Hence, I'm wondering if people would be open to provide a way how to specify and override the configs from the command line when starting Kafka? Something like: {code} ./bin/kafka-server-start.sh -Dmy.cool.property=X kafka.properties {code} or {code} ./bin/kafka-server-start.sh --set my.cool.property=X kafka.properties {code} I'm more than happy to take a stab at it, but I would like to see if there is an interest for such capability? -- This message was sent by Atlassian JIRA (v6.3.4#6332)
[jira] [Commented] (KAFKA-1654) Provide a way to override server configuration from command line
[ https://issues.apache.org/jira/browse/KAFKA-1654?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14222622#comment-14222622 ] Jarek Jarcec Cecho commented on KAFKA-1654: --- Thank you [~nehanarkhede] for bearing with me on all those reviews :) Provide a way to override server configuration from command line Key: KAFKA-1654 URL: https://issues.apache.org/jira/browse/KAFKA-1654 Project: Kafka Issue Type: Improvement Components: core Affects Versions: 0.8.1.1 Reporter: Jarek Jarcec Cecho Assignee: Jarek Jarcec Cecho Fix For: 0.8.3 Attachments: KAFKA-1654.patch, KAFKA-1654.patch, KAFKA-1654.patch, KAFKA-1654.patch I've been recently playing with Kafka and I found the current way of server configuration quite inflexible. All the configuration options have to be inside a properties file and there is no way how they can be overridden for execution. In order to temporarily change one property I had to copy the config file and change the property there. Hence, I'm wondering if people would be open to provide a way how to specify and override the configs from the command line when starting Kafka? Something like: {code} ./bin/kafka-server-start.sh -Dmy.cool.property=X kafka.properties {code} or {code} ./bin/kafka-server-start.sh --set my.cool.property=X kafka.properties {code} I'm more than happy to take a stab at it, but I would like to see if there is an interest for such capability? -- This message was sent by Atlassian JIRA (v6.3.4#6332)
[jira] [Commented] (KAFKA-1654) Provide a way to override server configuration from command line
[ https://issues.apache.org/jira/browse/KAFKA-1654?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=1484#comment-1484 ] Neha Narkhede commented on KAFKA-1654: -- Thanks for the updated patch. Few more comments 1. The script for starting kafka ({{bin/kafka-server-start.sh}}) prints a different help message compared to the one in {{kafka.Kafka}}. Since that is the script used by everyone to start Kafka, it is worth fixing it there. 2. The properties have to be specified before the server.properties file. I found it more natural to specify it after the server.properties in the following manner. {{bin/kafka-server-start.sh config/server.properties --override property=value}} What do you think about this? Provide a way to override server configuration from command line Key: KAFKA-1654 URL: https://issues.apache.org/jira/browse/KAFKA-1654 Project: Kafka Issue Type: Improvement Components: core Affects Versions: 0.8.1.1 Reporter: Jarek Jarcec Cecho Assignee: Jarek Jarcec Cecho Fix For: 0.8.3 Attachments: KAFKA-1654.patch, KAFKA-1654.patch, KAFKA-1654.patch I've been recently playing with Kafka and I found the current way of server configuration quite inflexible. All the configuration options have to be inside a properties file and there is no way how they can be overridden for execution. In order to temporarily change one property I had to copy the config file and change the property there. Hence, I'm wondering if people would be open to provide a way how to specify and override the configs from the command line when starting Kafka? Something like: {code} ./bin/kafka-server-start.sh -Dmy.cool.property=X kafka.properties {code} or {code} ./bin/kafka-server-start.sh --set my.cool.property=X kafka.properties {code} I'm more than happy to take a stab at it, but I would like to see if there is an interest for such capability? -- This message was sent by Atlassian JIRA (v6.3.4#6332)
[jira] [Commented] (KAFKA-1654) Provide a way to override server configuration from command line
[ https://issues.apache.org/jira/browse/KAFKA-1654?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14204259#comment-14204259 ] Neha Narkhede commented on KAFKA-1654: -- bq. Does the reasoning resonate with you or would you prefer to simply add ability to override the config properties without opening the code to introduce additional command line arguments in the future? Yes, I think we can keep it simple and improve it if we do come across such a need in the future. Provide a way to override server configuration from command line Key: KAFKA-1654 URL: https://issues.apache.org/jira/browse/KAFKA-1654 Project: Kafka Issue Type: Improvement Components: core Affects Versions: 0.8.1.1 Reporter: Jarek Jarcec Cecho Assignee: Jarek Jarcec Cecho Fix For: 0.8.3 Attachments: KAFKA-1654.patch, KAFKA-1654.patch I've been recently playing with Kafka and I found the current way of server configuration quite inflexible. All the configuration options have to be inside a properties file and there is no way how they can be overridden for execution. In order to temporarily change one property I had to copy the config file and change the property there. Hence, I'm wondering if people would be open to provide a way how to specify and override the configs from the command line when starting Kafka? Something like: {code} ./bin/kafka-server-start.sh -Dmy.cool.property=X kafka.properties {code} or {code} ./bin/kafka-server-start.sh --set my.cool.property=X kafka.properties {code} I'm more than happy to take a stab at it, but I would like to see if there is an interest for such capability? -- This message was sent by Atlassian JIRA (v6.3.4#6332)
[jira] [Commented] (KAFKA-1654) Provide a way to override server configuration from command line
[ https://issues.apache.org/jira/browse/KAFKA-1654?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14204310#comment-14204310 ] Neha Narkhede commented on KAFKA-1654: -- Thanks for the updated patch. Here are my review suggestions- 1. Still have the same comments as #1 and #2 above. 2. Can you use CommandLineUtils.printUsageAndDie()? Provide a way to override server configuration from command line Key: KAFKA-1654 URL: https://issues.apache.org/jira/browse/KAFKA-1654 Project: Kafka Issue Type: Improvement Components: core Affects Versions: 0.8.1.1 Reporter: Jarek Jarcec Cecho Assignee: Jarek Jarcec Cecho Fix For: 0.8.3 Attachments: KAFKA-1654.patch, KAFKA-1654.patch I've been recently playing with Kafka and I found the current way of server configuration quite inflexible. All the configuration options have to be inside a properties file and there is no way how they can be overridden for execution. In order to temporarily change one property I had to copy the config file and change the property there. Hence, I'm wondering if people would be open to provide a way how to specify and override the configs from the command line when starting Kafka? Something like: {code} ./bin/kafka-server-start.sh -Dmy.cool.property=X kafka.properties {code} or {code} ./bin/kafka-server-start.sh --set my.cool.property=X kafka.properties {code} I'm more than happy to take a stab at it, but I would like to see if there is an interest for such capability? -- This message was sent by Atlassian JIRA (v6.3.4#6332)
[jira] [Commented] (KAFKA-1654) Provide a way to override server configuration from command line
[ https://issues.apache.org/jira/browse/KAFKA-1654?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14204442#comment-14204442 ] Jarek Jarcec Cecho commented on KAFKA-1654: --- Thank you for your additional feedback [~nehanarkhede]! Good pointer to {{CommandLineUtils}} class -I've updated my patch to use this class and it's {{printUsageAndDie}} and {{parseKeyValueArgs}} methods. Using the util class has simplified the main code, but imposed a challenge on test side as those methods are directly calling {{System.exit()}}. After some googling I've solved that problem by introducing {{SecurityManager}} that will intercept the {{System.exit}} call and thrown an unchecked exception that can be verified by junit. To answer your specific points: {quote} The usage command says USAGE: java \[options\] %s \[kafka options\] server.properties, but in order for the kafka options to take effect you also need to use --set {quote} I've updated the message to explicitly state that I'm expecting list of arguments ({{\[--override key-value\]*}}) rather then using the generic term {{kafka options}}. {quote} If you leave set out, it doesn't error out saying that --set is required and silently does not end up overriding the property value {quote} I've added unit tests to ensure that the only allowed input is to have (list of) parameter {{--override}} followed by one property that should be overridden. {quote} Can you use CommandLineUtils.printUsageAndDie()? {quote} Done. Provide a way to override server configuration from command line Key: KAFKA-1654 URL: https://issues.apache.org/jira/browse/KAFKA-1654 Project: Kafka Issue Type: Improvement Components: core Affects Versions: 0.8.1.1 Reporter: Jarek Jarcec Cecho Assignee: Jarek Jarcec Cecho Fix For: 0.8.3 Attachments: KAFKA-1654.patch, KAFKA-1654.patch I've been recently playing with Kafka and I found the current way of server configuration quite inflexible. All the configuration options have to be inside a properties file and there is no way how they can be overridden for execution. In order to temporarily change one property I had to copy the config file and change the property there. Hence, I'm wondering if people would be open to provide a way how to specify and override the configs from the command line when starting Kafka? Something like: {code} ./bin/kafka-server-start.sh -Dmy.cool.property=X kafka.properties {code} or {code} ./bin/kafka-server-start.sh --set my.cool.property=X kafka.properties {code} I'm more than happy to take a stab at it, but I would like to see if there is an interest for such capability? -- This message was sent by Atlassian JIRA (v6.3.4#6332)
[jira] [Commented] (KAFKA-1654) Provide a way to override server configuration from command line
[ https://issues.apache.org/jira/browse/KAFKA-1654?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14201096#comment-14201096 ] Jarek Jarcec Cecho commented on KAFKA-1654: --- Looking at feedback proposal more closely [~nehanarkhede], I wanted to explain a bit of my thinking. My intention is to add ability to specify command line arguments while starting Kafka broker similarly as we do have for the command line tools. In this patch I'm adding one argument only ({{--set}} that will be renamed to {{--override}} as you've suggested), that happens to have the ability to be specified multiple times. That explains why I'm expecting that you have to specify it for every property that is being overriden and also why I do have the [kafka options] section without mentioning that you have to use {{--set}} (you might want to add different parameter in the future, like completely bogus {{--disable-jmx}} or whatever :)). Perhaps I should have also submitted a second documentation patch to cover the usage. Does the reasoning resonate with you or would you prefer to simply add ability to override the config properties without opening the code to introduce additional command line arguments in the future? I'll definitely address the fact that I'm not properly failing on error cases, that is a huge problem in my mind - thank you for uncovering it! Provide a way to override server configuration from command line Key: KAFKA-1654 URL: https://issues.apache.org/jira/browse/KAFKA-1654 Project: Kafka Issue Type: Improvement Components: core Affects Versions: 0.8.1.1 Reporter: Jarek Jarcec Cecho Assignee: Jarek Jarcec Cecho Fix For: 0.8.3 Attachments: KAFKA-1654.patch I've been recently playing with Kafka and I found the current way of server configuration quite inflexible. All the configuration options have to be inside a properties file and there is no way how they can be overridden for execution. In order to temporarily change one property I had to copy the config file and change the property there. Hence, I'm wondering if people would be open to provide a way how to specify and override the configs from the command line when starting Kafka? Something like: {code} ./bin/kafka-server-start.sh -Dmy.cool.property=X kafka.properties {code} or {code} ./bin/kafka-server-start.sh --set my.cool.property=X kafka.properties {code} I'm more than happy to take a stab at it, but I would like to see if there is an interest for such capability? -- This message was sent by Atlassian JIRA (v6.3.4#6332)
[jira] [Commented] (KAFKA-1654) Provide a way to override server configuration from command line
[ https://issues.apache.org/jira/browse/KAFKA-1654?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14201718#comment-14201718 ] Jarek Jarcec Cecho commented on KAFKA-1654: --- I've added second version of the patch that: * Renames the {{\-\-set}} to {{\-\-override}} * Enforces that only valid parameters are on the command line and there are no so called nonOptions Provide a way to override server configuration from command line Key: KAFKA-1654 URL: https://issues.apache.org/jira/browse/KAFKA-1654 Project: Kafka Issue Type: Improvement Components: core Affects Versions: 0.8.1.1 Reporter: Jarek Jarcec Cecho Assignee: Jarek Jarcec Cecho Fix For: 0.8.3 Attachments: KAFKA-1654.patch, KAFKA-1654.patch I've been recently playing with Kafka and I found the current way of server configuration quite inflexible. All the configuration options have to be inside a properties file and there is no way how they can be overridden for execution. In order to temporarily change one property I had to copy the config file and change the property there. Hence, I'm wondering if people would be open to provide a way how to specify and override the configs from the command line when starting Kafka? Something like: {code} ./bin/kafka-server-start.sh -Dmy.cool.property=X kafka.properties {code} or {code} ./bin/kafka-server-start.sh --set my.cool.property=X kafka.properties {code} I'm more than happy to take a stab at it, but I would like to see if there is an interest for such capability? -- This message was sent by Atlassian JIRA (v6.3.4#6332)
[jira] [Commented] (KAFKA-1654) Provide a way to override server configuration from command line
[ https://issues.apache.org/jira/browse/KAFKA-1654?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14196791#comment-14196791 ] Jarek Jarcec Cecho commented on KAFKA-1654: --- Thank you for the feedback [~nehanarkhede]! I'll take a look and incorporate the changes :) Provide a way to override server configuration from command line Key: KAFKA-1654 URL: https://issues.apache.org/jira/browse/KAFKA-1654 Project: Kafka Issue Type: Improvement Components: core Affects Versions: 0.8.1.1 Reporter: Jarek Jarcec Cecho Assignee: Jarek Jarcec Cecho Fix For: 0.8.3 Attachments: KAFKA-1654.patch I've been recently playing with Kafka and I found the current way of server configuration quite inflexible. All the configuration options have to be inside a properties file and there is no way how they can be overridden for execution. In order to temporarily change one property I had to copy the config file and change the property there. Hence, I'm wondering if people would be open to provide a way how to specify and override the configs from the command line when starting Kafka? Something like: {code} ./bin/kafka-server-start.sh -Dmy.cool.property=X kafka.properties {code} or {code} ./bin/kafka-server-start.sh --set my.cool.property=X kafka.properties {code} I'm more than happy to take a stab at it, but I would like to see if there is an interest for such capability? -- This message was sent by Atlassian JIRA (v6.3.4#6332)
[jira] [Commented] (KAFKA-1654) Provide a way to override server configuration from command line
[ https://issues.apache.org/jira/browse/KAFKA-1654?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14174101#comment-14174101 ] Neha Narkhede commented on KAFKA-1654: -- [~jarcec] Thanks for the patch. Overall looks good. Few comments 1. The usage command says USAGE: java [options] %s [kafka options] server.properties, but in order for the kafka options to take effect you also need to use --set. 2. If you leave set out, it doesn't error out saying that --set is required and silently does not end up overriding the property value 3. Can we rename set to override? 4. If you specify multiple properties, it is unclear that you need to use --set for each of those. If you don't, it doesn't error out and silently doesn't override it. Provide a way to override server configuration from command line Key: KAFKA-1654 URL: https://issues.apache.org/jira/browse/KAFKA-1654 Project: Kafka Issue Type: Improvement Components: core Affects Versions: 0.8.1.1 Reporter: Jarek Jarcec Cecho Assignee: Jarek Jarcec Cecho Fix For: 0.8.3 Attachments: KAFKA-1654.patch I've been recently playing with Kafka and I found the current way of server configuration quite inflexible. All the configuration options have to be inside a properties file and there is no way how they can be overridden for execution. In order to temporarily change one property I had to copy the config file and change the property there. Hence, I'm wondering if people would be open to provide a way how to specify and override the configs from the command line when starting Kafka? Something like: {code} ./bin/kafka-server-start.sh -Dmy.cool.property=X kafka.properties {code} or {code} ./bin/kafka-server-start.sh --set my.cool.property=X kafka.properties {code} I'm more than happy to take a stab at it, but I would like to see if there is an interest for such capability? -- This message was sent by Atlassian JIRA (v6.3.4#6332)
[jira] [Commented] (KAFKA-1654) Provide a way to override server configuration from command line
[ https://issues.apache.org/jira/browse/KAFKA-1654?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=1414#comment-1414 ] Neha Narkhede commented on KAFKA-1654: -- Yes, I think that's useful. Would you like to take a stab at it? Provide a way to override server configuration from command line Key: KAFKA-1654 URL: https://issues.apache.org/jira/browse/KAFKA-1654 Project: Kafka Issue Type: Improvement Components: core Reporter: Jarek Jarcec Cecho Assignee: Jarek Jarcec Cecho I've been recently playing with Kafka and I found the current way of server configuration quite inflexible. All the configuration options have to be inside a properties file and there is no way how they can be overridden for execution. In order to temporarily change one property I had to copy the config file and change the property there. Hence, I'm wondering if people would be open to provide a way how to specify and override the configs from the command line when starting Kafka? Something like: {code} ./bin/kafka-server-start.sh -Dmy.cool.property=X kafka.properties {code} or {code} ./bin/kafka-server-start.sh --set my.cool.property=X kafka.properties {code} I'm more than happy to take a stab at it, but I would like to see if there is an interest for such capability? -- This message was sent by Atlassian JIRA (v6.3.4#6332)
[jira] [Commented] (KAFKA-1654) Provide a way to override server configuration from command line
[ https://issues.apache.org/jira/browse/KAFKA-1654?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14150095#comment-14150095 ] Jarek Jarcec Cecho commented on KAFKA-1654: --- Thank you for the feedback [~nehanarkhede], yes I'll pick this one up. Provide a way to override server configuration from command line Key: KAFKA-1654 URL: https://issues.apache.org/jira/browse/KAFKA-1654 Project: Kafka Issue Type: Improvement Components: core Reporter: Jarek Jarcec Cecho Assignee: Jarek Jarcec Cecho I've been recently playing with Kafka and I found the current way of server configuration quite inflexible. All the configuration options have to be inside a properties file and there is no way how they can be overridden for execution. In order to temporarily change one property I had to copy the config file and change the property there. Hence, I'm wondering if people would be open to provide a way how to specify and override the configs from the command line when starting Kafka? Something like: {code} ./bin/kafka-server-start.sh -Dmy.cool.property=X kafka.properties {code} or {code} ./bin/kafka-server-start.sh --set my.cool.property=X kafka.properties {code} I'm more than happy to take a stab at it, but I would like to see if there is an interest for such capability? -- This message was sent by Atlassian JIRA (v6.3.4#6332)