> On Jan. 29, 2015, 6:50 a.m., Gwen Shapira wrote:
> > We added --override option to KafkaServer that allows overriding default 
> > configuration from commandline.
> > I believe that just changing the shell script to include --override 
> > log.dir=${KAFKA_HOME}/data 
> > may be enough?
> > 
> > overriding configuration from server.properties in code can be very 
> > unintuitive.
> 
> Jaikiran Pai wrote:
>     That sounds a good idea. I wasn't aware of the --override option. I'll 
> give that a try and if it works then the change will be limited to just the 
> scripts.
> 
> Jaikiran Pai wrote:
>     Hi Gwen,
>     
>     I had a look at the JIRA https://issues.apache.org/jira/browse/KAFKA-1654 
> which added support for --override and also the purpose of that option. From 
> what I see it won't be useful in this case, because in this current task, we 
> don't want to override a value that has been explicitly set (via 
> server.properties for example). Instead we want to handle a case where no 
> explicit value is specified for the data log directory and in such cases 
> default it to a path which resides under the Kafka install directory.
>     
>     If we use the --override option in our (startup) scripts to set 
> log.dir=${KAFKA_HOME}/data, we will end up forcing this value as the log.dir 
> even when the user has intentionally specified a different path for the data 
> logs.
>     
>     Let me know if I misunderstood your suggestion.

I think you are right that --override won't work but maybe this is still a good 
suggestion?

Something seems odd about force overriding the working directory of the process 
just to set the log directory.

Another option might be to add --default. This would work like --override but 
would provide a default value only if none is specified. I think this might be 
possible because the java.util.Properties we use for config supports a 
hierarchy of defaults. E.g. you can say new Properties(defaultProperties). Not 
sure if this is better or worse.

Thoughts?


- Jay


-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/30403/#review70168
-----------------------------------------------------------


On Jan. 29, 2015, 6:24 a.m., Jaikiran Pai wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://reviews.apache.org/r/30403/
> -----------------------------------------------------------
> 
> (Updated Jan. 29, 2015, 6:24 a.m.)
> 
> 
> Review request for kafka.
> 
> 
> Bugs: KAFKA-1906
>     https://issues.apache.org/jira/browse/KAFKA-1906
> 
> 
> Repository: kafka
> 
> 
> Description
> -------
> 
> KAFKA-1906 Default the Kafka data log directory to 
> $KAFKA_HOME/data/kafka-logs directory, where KAFKA_HOME is the Kafka 
> installation directory
> 
> 
> Diffs
> -----
> 
>   bin/kafka-run-class.sh 881f578a8f5c796fe23415b978c1ad35869af76e 
>   bin/windows/kafka-run-class.bat 9df3d2b45236b4f06d55a89c84afcf0ab9f5d0f2 
>   config/server.properties 1614260b71a658b405bb24157c8f12b1f1031aa5 
>   core/src/main/scala/kafka/server/KafkaConfig.scala 
> 6d74983472249eac808d361344c58cc2858ec971 
>   core/src/test/scala/unit/kafka/server/KafkaConfigTest.scala 
> 82dce80d553957d8b5776a9e140c346d4e07f766 
> 
> Diff: https://reviews.apache.org/r/30403/diff/
> 
> 
> Testing
> -------
> 
> The change here involves updating the Kafka scripts (for Windows and * nix) 
> to infer and setup KAFKA_HOME environment variable. This value is then used 
> by the KafkaConfig to decide what path to default to for the Kafka data logs, 
> in the absence of any explicitly set log.dirs (or log.dir) properties.
> 
> Care has been taken to ensure that other mechanism which might presently be 
> bypassing the Kafka scripts, will still continue to function, since in the 
> absence of KAFKA_HOME environment property value, we fall back to 
> /tmp/kafka-logs (the present default) as the default data log directory
> 
> Existing tests have been run to ensure that this change maintains backward 
> compatibility (i.e. doesn't fail when KAFKA_HOME isn't available/set) and 2 
> new test methods have been added to the KafkaConfigTest to ensure that this 
> change works.
> 
> Although the change has been made to both .sh and .bat files, to support 
> this, I haven't actually tested this change on a Windows OS and would 
> appreciate if someone can test this there and let me know if they run into 
> any issues.
> 
> 
> Thanks,
> 
> Jaikiran Pai
> 
>

Reply via email to