Bug#1025043: zookeeper: various improvement ideas for the package
Christoph Anton Mitterer
calestyo at scientia.org
Tue Nov 29 04:28:09 GMT 2022
Source: zookeeper
Version: 3.8.0-10
Severity: wishlist
Hey.
While trying out the new packaging of 3.8, I've noticed a number
of things, which seem at least a bit unusual:
1) Using updates-alternatives mechanism, to set up the config.
That seems quite unsual, and updates-alternatives is even
documented as:
"maintain symbolic links determining default commands"
Commands, not config ;-)
It would be easy for me to provide a patch which simply drops
that, but the problem is we need to gracefully handle existing
installations and properly clean it up there, too.
Especially without accidentally deleting config. Not sure if this
is really possibe, or whether we should just add a NEWS.Debian
entry, telling, that config is now expeceted to bin
/etc/zookeeer/conf and users must put it there.
2) /etc/zookeeper/conf_example/ (being there, in /etc) and
/etc/zookeeper/conf being a symlink to that.
Most packages I know, place *purely* exemplary config somewhere
in /usr/share/doch/<package>/examples
Whereas, if the config is more than just a *pure* example, but
a - more or less working - default configu, they'd put it just
in /etc/zookeeper/ or /etc/zookeeper/conf/ (if that's custom for
ZK).
Again, I could try to help, but how're we gonna take care of
existing installations? Especially since we don't know wheter
anyone used (1) to mess up, or like I did personally:
just deleted the symlink and placed a real dir there.
3) There seems to be some mess / duplication between:
/usr/share/zookeeper/bin/zkEnv.sh
and
/etc/zookeeper/conf/environment
which, I guess, might also be the reason for my:
#1025012
because the former would contain the additional CLASSPATH stuff
I've found out by trying (well, it also doesn't contain the jetty
stuff).
4) Always found zkServer.sh pretty awkward, especially how it finds
all the dirs,.. but okay that's upstream so we have to live with it.
I guess there must be a:
/var/lib/zookeeper/myid
and it cannot be directly taken from /etc?
Woudl be anyway just cosmetic.
5) The example config we ship as a more or less working config (just
myid is missing) contains:
dataDir=/tmp/zookeeper
That's IMO bad. And we should directly use:
/var/lib/zookeeper ?
Could prove a PR with a quilt patch that does that.
5b) At some point in time, upstream announced that the `clientPort`
option would be deprecated in favour of:
server.<positive id> = <address1>:<port1>:<port2>[:role];[<client port address>:]<client port>
See https://zookeeper.apache.org/doc/r3.5.3-beta/zookeeperReconfig.html
However, upstream itself doesn't really stick with that.
So I guess we should leave that in the config as is for now.
As said I could try to help with some stuff... but would want to know
what you think about these points.
And for some I have no real idea how to do it cleanly.
Thanks,
Chris.
More information about the pkg-java-maintainers
mailing list