Hard-coding a well-known location for configuration directory gives less
flexibility for packaging Zookeeper configurations
---------------------------------------------------------------------------------------------------------------------------
Key: ZOOKEEPER-1084
URL: https://issues.apache.org/jira/browse/ZOOKEEPER-1084
Project: ZooKeeper
Issue Type: Improvement
Components: scripts
Affects Versions: 3.3.2
Reporter: Roman Shaposhnik
Priority: Minor
Currently, Zookeeper relies on zkEnv.sh logic to discover the location of the
configuration directory if none is specified:
{noformat}
# We use ZOOCFGDIR if defined,
# otherwise we use /etc/zookeeper
# or the conf directory that is
# a sibling of this script's directory
if [ "x$ZOOCFGDIR" = "x" ]
then
if [ -d "/etc/zookeeper" ]
then
ZOOCFGDIR="/etc/zookeeper"
else
ZOOCFGDIR="$ZOOBINDIR/../conf"
fi
fi
{noformat}
The problem with such an approach is that having /etc/zookeeper (for whatever
reason) trips this logic up in believing that
it is THE place. It would be much nicer to follow the suit of other Apache
Hadoop projects and restrict the logic to
$ZOOCFGDIR and $ZOOBINDIR/../conf
Please note, that if that happens one can always have an existing behavior of
picking up /etc/zookeeper by creating
a symlink at $ZOOBINDIR/../conf pointing to it.
--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira