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