Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

zookeeper: 3.4.12 -> 3.6.2 & assorted changes #104889

Merged
merged 6 commits into from Dec 9, 2020

Conversation

ztzg
Copy link
Contributor

@ztzg ztzg commented Nov 25, 2020

Motivation for this change
Things done
  • Tested using sandboxing (nix.useSandbox on NixOS, or option sandbox in nix.conf on non-NixOS linux)
  • Built on platform(s)
    • NixOS
    • macOS
    • other Linux distributions
  • Tested via one or more NixOS test(s) if existing and applicable for the change (look inside nixos/tests)
  • Tested compilation of all pkgs that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review wip" (actually: nixpkgs-review rev 67b116cd3b6)
  • Tested execution of all binary files (usually in ./result/bin/)
  • Determined the impact on package closure size (by running nix path-info -S before and after) (minimal; smaller for main package.)
  • Ensured that relevant documentation is up to date
  • Fits CONTRIBUTING.md.

pkgs/development/libraries/zookeeper_mt/default.nix Outdated Show resolved Hide resolved
pkgs/development/libraries/zookeeper_mt/default.nix Outdated Show resolved Hide resolved
pkgs/development/libraries/zookeeper_mt/default.nix Outdated Show resolved Hide resolved
pkgs/development/libraries/zookeeper_mt/default.nix Outdated Show resolved Hide resolved
pkgs/development/libraries/zookeeper_mt/default.nix Outdated Show resolved Hide resolved
pkgs/top-level/perl-packages.nix Outdated Show resolved Hide resolved
@SuperSandro2000
Copy link
Member

Result of nixpkgs-review pr 104889 run on x86_64-linux 1

1 package blacklisted:
  • tests.nixos-functions.nixos-test
6 packages built:
  • haskellPackages.hzk
  • perl530Packages.NetZooKeeper
  • perl532Packages.NetZooKeeper
  • zkfuse
  • zookeeper
  • zookeeper_mt

@SuperSandro2000
Copy link
Member

SuperSandro2000 commented Nov 25, 2020

Result of nixpkgs-review pr 104889 run on x86_64-darwin 1

2 packages failed to build:
  • perl530Packages.NetZooKeeper
  • perl532Packages.NetZooKeeper
3 packages built:
  • haskellPackages.hzk
  • zookeeper
  • zookeeper_mt
@nix { "action": "setPhase", "phase": "unpackPhase" }
unpacking sources
unpacking source archive /nix/store/a7vfnmkdjbf4q6ak2rsy1dq2zxl3sqhj-Net-ZooKeeper-0.41.tar.gz
source root is Net-ZooKeeper-0.41
setting SOURCE_DATE_EPOCH to timestamp 1434591375 of file Net-ZooKeeper-0.41/META.yml
@nix { "action": "setPhase", "phase": "patchPhase" }
patching sources
@nix { "action": "setPhase", "phase": "configurePhase" }
configuring
Checking if your kit is complete...
Looks good
Use of uninitialized value $thispth in concatenation (.) or string at /nix/store/1dh52zfd3ifglz289i827afnxyipgb6s-perl-5.32.0/lib/perl5/5.32.0/ExtUtils/Liblist/Kid.pm line 162.
Use of uninitialized value $thispth in concatenation (.) or string at /nix/store/1dh52zfd3ifglz289i827afnxyipgb6s-perl-5.32.0/lib/perl5/5.32.0/ExtUtils/Liblist/Kid.pm line 166.
Use of uninitialized value $thispth in concatenation (.) or string at /nix/store/1dh52zfd3ifglz289i827afnxyipgb6s-perl-5.32.0/lib/perl5/5.32.0/ExtUtils/Liblist/Kid.pm line 171.
Use of uninitialized value $thispth in concatenation (.) or string at /nix/store/1dh52zfd3ifglz289i827afnxyipgb6s-perl-5.32.0/lib/perl5/5.32.0/ExtUtils/Liblist/Kid.pm line 173.
Use of uninitialized value $thispth in concatenation (.) or string at /nix/store/1dh52zfd3ifglz289i827afnxyipgb6s-perl-5.32.0/lib/perl5/5.32.0/ExtUtils/Liblist/Kid.pm line 177.
Use of uninitialized value $thispth in concatenation (.) or string at /nix/store/1dh52zfd3ifglz289i827afnxyipgb6s-perl-5.32.0/lib/perl5/5.32.0/ExtUtils/Liblist/Kid.pm line 179.
Use of uninitialized value $thispth in concatenation (.) or string at /nix/store/1dh52zfd3ifglz289i827afnxyipgb6s-perl-5.32.0/lib/perl5/5.32.0/ExtUtils/Liblist/Kid.pm line 183.
Warning (mostly harmless): No library found for -lzookeeper_mt
Generating a Unix-style Makefile
Writing Makefile for Net::ZooKeeper
Writing MYMETA.yml and MYMETA.json
no configure script, doing nothing
@nix { "action": "setPhase", "phase": "buildPhase" }
building
build flags: SHELL=/nix/store/k89nm2jva0qmvd970f84wq2iq1iwm9bs-bash-4.4-p23/bin/bash
cp ZooKeeper.pm blib/lib/Net/ZooKeeper.pm
Running Mkbootstrap for ZooKeeper ()
chmod 644 "ZooKeeper.bs"
"/nix/store/1dh52zfd3ifglz289i827afnxyipgb6s-perl-5.32.0/bin/perl" -MExtUtils::Command::MM -e 'cp_nonempty' -- ZooKeeper.bs blib/arch/auto/Net/ZooKeeper/ZooKeeper.bs 644
"/nix/store/1dh52zfd3ifglz289i827afnxyipgb6s-perl-5.32.0/bin/perl" "/nix/store/1dh52zfd3ifglz289i827afnxyipgb6s-perl-5.32.0/lib/perl5/5.32.0/ExtUtils/xsubpp"  -typemap '/nix/store/1dh52zfd3ifglz289i827afnxyipgb6s-perl-5.32.0/lib/perl5/5.32.0/ExtUtils/typemap' -typemap '/private/tmp/nix-build-perl5.32.0-Net-ZooKeeper-0.41.drv-0/Net-ZooKeeper-0.41/typemap'  ZooKeeper.xs > ZooKeeper.xsc
mv ZooKeeper.xsc ZooKeeper.c
cc -c  -I. -fno-common -DPERL_DARWIN -mmacosx-version-min=10.12 -fno-strict-aliasing -pipe -fstack-protector-strong -I/no-such-path/include -DPERL_USE_SAFE_PUTENV -O3   -DVERSION=\"0.41\" -DXS_VERSION=\"0.41\"  "-I/nix/store/1dh52zfd3ifglz289i827afnxyipgb6s-perl-5.32.0/lib/perl5/5.32.0/darwin-thread-multi-2level/CORE"   ZooKeeper.c
�[1mZooKeeper.xs:1230:64: �[0m�[0;1;35mwarning: �[0m�[1mformat specifies type 'unsigned int' but the argument has type 'STRLEN' (aka 'unsigned long') [-Wformat]�[0m
            Perl_croak(aTHX_ "invalid certificate length: %u", cert_len);
�[0;1;32m                                                          ~~   ^~~~~~~~
�[0m�[0;32m                                                          %zu
�[0m�[1mZooKeeper.xs:1310:57: �[0m�[0;1;35mwarning: �[0m�[1mformat specifies type 'unsigned int' but the argument has type 'STRLEN' (aka 'unsigned long') [-Wformat]�[0m
            Perl_croak(aTHX_ "invalid data length: %u", buf_len);
�[0;1;32m                                                   ~~   ^~~~~~~
�[0m�[0;32m                                                   %zu
�[0m�[1mZooKeeper.xs:1345:38: �[0m�[0;1;35mwarning: �[0m�[1mformat string is not a string literal (potentially insecure) [-Wformat-security]�[0m
                    Perl_croak(aTHX_ err);
�[0;1;32m                                     ^~~
�[0m�[1mZooKeeper.xs:1345:38: �[0m�[0;1;30mnote: �[0mtreat the string as an argument to avoid this�[0m
                    Perl_croak(aTHX_ err);
�[0;1;32m                                     ^
�[0m�[0;32m                                     "%s", 
�[0m�[1mZooKeeper.xs:1784:57: �[0m�[0;1;35mwarning: �[0m�[1mformat specifies type 'unsigned int' but the argument has type 'STRLEN' (aka 'unsigned long') [-Wformat]�[0m
            Perl_croak(aTHX_ "invalid data length: %u", buf_len);
�[0;1;32m                                                   ~~   ^~~~~~~
�[0m�[0;32m                                                   %zu
�[0m�[1mZooKeeper.xs:1947:30: �[0m�[0;1;35mwarning: �[0m�[1mformat string is not a string literal (potentially insecure) [-Wformat-security]�[0m
            Perl_croak(aTHX_ err);
�[0;1;32m                             ^~~
�[0m�[1mZooKeeper.xs:1947:30: �[0m�[0;1;30mnote: �[0mtreat the string as an argument to avoid this�[0m
            Perl_croak(aTHX_ err);
�[0;1;32m                             ^
�[0m�[0;32m                             "%s", 
�[0m5 warnings generated.
rm -f blib/arch/auto/Net/ZooKeeper/ZooKeeper.bundle
cc  -mmacosx-version-min=10.12 -bundle -undefined dynamic_lookup -L/no-such-path/lib -fstack-protector-strong  ZooKeeper.o  -o blib/arch/auto/Net/ZooKeeper/ZooKeeper.bundle  \
      \
  
chmod 755 blib/arch/auto/Net/ZooKeeper/ZooKeeper.bundle
Manifying 1 pod document
@nix { "action": "setPhase", "phase": "checkPhase" }
running tests
check flags: SHELL=/nix/store/k89nm2jva0qmvd970f84wq2iq1iwm9bs-bash-4.4-p23/bin/bash VERBOSE=y test
"/nix/store/1dh52zfd3ifglz289i827afnxyipgb6s-perl-5.32.0/bin/perl" -MExtUtils::Command::MM -e 'cp_nonempty' -- ZooKeeper.bs blib/arch/auto/Net/ZooKeeper/ZooKeeper.bs 644
PERL_DL_NONLAZY=1 "/nix/store/1dh52zfd3ifglz289i827afnxyipgb6s-perl-5.32.0/bin/perl" "-MExtUtils::Command::MM" "-MTest::Harness" "-e" "undef *Test::Harness::Switches; test_harness(0, 'blib/lib', 'blib/arch')" t/*.t
t/10_invalid.t .... 
t/10_invalid.t .... 1/107 # no ZooKeeper hostnames specified in ZK_TEST_HOSTS env var, using localhost:2181
# no ZooKeeper path specified in ZK_TEST_PATH env var, using root path

#   Failed test ''new(): created handle' isa 'Net::ZooKeeper''
#   at t/10_invalid.t line 65.
#     'new(): created handle' isn't defined

#   Failed test 'DESTROY(): too many arguments'
#   at t/10_invalid.t line 74.
#                   'Can't call method "DESTROY" on an undefined value at t/10_invalid.t line 72.
# '
#     doesn't match '(?^:Usage: Net::ZooKeeper::DESTROY\(zkh\))'

#   Failed test 'add_auth(): no scheme specified'
#   at t/10_invalid.t line 90.
#                   'Can't call method "add_auth" on an undefined value at t/10_invalid.t line 88.
# '
#     doesn't match '(?^:Usage: Net::ZooKeeper::add_auth\(zkh, scheme, cert\))'

#   Failed test 'add_auth(): no certificate specified'
#   at t/10_invalid.t line 96.
#                   'Can't call method "add_auth" on an undefined value at t/10_invalid.t line 94.
# '
#     doesn't match '(?^:Usage: Net::ZooKeeper::add_auth\(zkh, scheme, cert\))'

#   Failed test 'add_auth(): too many arguments'
#   at t/10_invalid.t line 102.
#                   'Can't call method "add_auth" on an undefined value at t/10_invalid.t line 100.
# '
#     doesn't match '(?^:Usage: Net::ZooKeeper::add_auth\(zkh, scheme, cert\))'

#   Failed test 'create(): no path specified'
#   at t/10_invalid.t line 123.
#                   'Can't call method "create" on an undefined value at t/10_invalid.t line 121.
# '
#     doesn't match '(?^:Usage: Net::ZooKeeper::create\(zkh, path, buf, \.\.\.\))'

#   Failed test 'create(): no data buffer specified'
#   at t/10_invalid.t line 129.
#                   'Can't call method "create" on an undefined value at t/10_invalid.t line 127.
# '
#     doesn't match '(?^:Usage: Net::ZooKeeper::create\(zkh, path, buf, \.\.\.\))'

#   Failed test 'create(): invalid number of arguments'
#   at t/10_invalid.t line 135.
#                   'Can't call method "create" on an undefined value at t/10_invalid.t line 133.
# '
#     doesn't match '(?^:invalid number of arguments)'

#   Failed test 'create(): invalid path read length'
#   at t/10_invalid.t line 141.
#                   'Can't call method "create" on an undefined value at t/10_invalid.t line 139.
# '
#     doesn't match '(?^:invalid path read length)'

#   Failed test 'create(): invalid path read length'
#   at t/10_invalid.t line 147.
#                   'Can't call method "create" on an undefined value at t/10_invalid.t line 145.
# '
#     doesn't match '(?^:invalid path read length)'

#   Failed test 'create(): invalid create flags'
#   at t/10_invalid.t line 153.
#                   'Can't call method "create" on an undefined value at t/10_invalid.t line 151.
# '
#     doesn't match '(?^:invalid create flags)'

#   Failed test 'create(): invalid ACL array reference'
#   at t/10_invalid.t line 159.
#                   'Can't call method "create" on an undefined value at t/10_invalid.t line 157.
# '
#     doesn't match '(?^:invalid ACL array reference)'

#   Failed test 'create(): invalid ACL array reference to hash'
#   at t/10_invalid.t line 165.
#                   'Can't call method "create" on an undefined value at t/10_invalid.t line 163.
# '
#     doesn't match '(?^:invalid ACL array reference)'

#   Failed test 'create(): invalid ACL entry hash reference'
#   at t/10_invalid.t line 172.
#                   'Can't call method "create" on an undefined value at t/10_invalid.t line 170.
# '
#     doesn't match '(?^:invalid ACL entry hash reference)'

#   Failed test 'create(): no ACL entry perms element'
#   at t/10_invalid.t line 179.
#                   'Can't call method "create" on an undefined value at t/10_invalid.t line 177.
# '
#     doesn't match '(?^:no ACL entry perms element)'

#   Failed test 'create(): invalid ACL entry perms'
#   at t/10_invalid.t line 190.
#                   'Can't call method "create" on an undefined value at t/10_invalid.t line 188.
# '
#     doesn't match '(?^:invalid ACL entry perms)'

#   Failed test 'create(): no ACL entry scheme element'
#   at t/10_invalid.t line 201.
#                   'Can't call method "create" on an undefined value at t/10_invalid.t line 199.
# '
#     doesn't match '(?^:no ACL entry scheme element)'

#   Failed test 'create(): no ACL entry id element'
#   at t/10_invalid.t line 213.
#                   'Can't call method "create" on an undefined value at t/10_invalid.t line 211.
# '
#     doesn't match '(?^:no ACL entry id element)'

#   Failed test 'create(): invalid second ACL entry hash reference'
#   at t/10_invalid.t line 227.
#                   'Can't call method "create" on an undefined value at t/10_invalid.t line 225.
# '
#     doesn't match '(?^:invalid ACL entry hash reference)'

#   Failed test 'delete(): no path specified'
#   at t/10_invalid.t line 248.
#                   'Can't call method "delete" on an undefined value at t/10_invalid.t line 246.
# '
#     doesn't match '(?^:Usage: Net::ZooKeeper::delete\(zkh, path, \.\.\.\))'

#   Failed test 'delete(): invalid number of arguments'
#   at t/10_invalid.t line 254.
#                   'Can't call method "delete" on an undefined value at t/10_invalid.t line 252.
# '
#     doesn't match '(?^:invalid number of arguments)'

#   Failed test 'delete(): invalid version requirement'
#   at t/10_invalid.t line 260.
#                   'Can't call method "delete" on an undefined value at t/10_invalid.t line 258.
# '
#     doesn't match '(?^:invalid version requirement)'

#   Failed test 'exists(): no path specified'
#   at t/10_invalid.t line 281.
#                   'Can't call method "exists" on an undefined value at t/10_invalid.t line 279.
# '
#     doesn't match '(?^:Usage: Net::ZooKeeper::exists\(zkh, path, \.\.\.\))'

#   Failed test 'exists(): invalid number of arguments'
#   at t/10_invalid.t line 287.
#                   'Can't call method "exists" on an undefined value at t/10_invalid.t line 285.
# '
#     doesn't match '(?^:invalid number of arguments)'

#   Failed test 'exists(): invalid watch hash reference'
#   at t/10_invalid.t line 293.
#                   'Can't call method "exists" on an undefined value at t/10_invalid.t line 291.
# '
#     doesn't match '(?^:watch is not a hash reference of type Net::ZooKeeper::Watch)'

#   Failed test 'exists(): invalid watch hash reference to array'
#   at t/10_invalid.t line 299.
#                   'Can't call method "exists" on an undefined value at t/10_invalid.t line 297.
# '
#     doesn't match '(?^:watch is not a hash reference of type Net::ZooKeeper::Watch)'

#   Failed test 'exists(): invalid stat hash reference'
#   at t/10_invalid.t line 305.
#                   'Can't call method "exists" on an undefined value at t/10_invalid.t line 303.
# '
#     doesn't match '(?^:stat is not a hash reference of type Net::ZooKeeper::Stat)'

#   Failed test 'exists(): invalid stat hash reference'
#   at t/10_invalid.t line 311.
#                   'Can't call method "exists" on an undefined value at t/10_invalid.t line 309.
# '
#     doesn't match '(?^:stat is not a hash reference of type Net::ZooKeeper::Stat)'

#   Failed test 'get_children(): no path specified'
#   at t/10_invalid.t line 332.
#                   'Can't call method "get_children" on an undefined value at t/10_invalid.t line 330.
# '
#     doesn't match '(?^:Usage: Net::ZooKeeper::get_children\(zkh, path, \.\.\.\))'

#   Failed test 'get_children(): invalid number of arguments'
#   at t/10_invalid.t line 338.
#                   'Can't call method "get_children" on an undefined value at t/10_invalid.t line 336.
# '
#     doesn't match '(?^:invalid number of arguments)'

#   Failed test 'get_children(): invalid watch hash reference'
#   at t/10_invalid.t line 344.
#                   'Can't call method "get_children" on an undefined value at t/10_invalid.t line 342.
# '
#     doesn't match '(?^:watch is not a hash reference of type Net::ZooKeeper::Watch)'

#   Failed test 'get_children(): invalid watch ash reference to array'
#   at t/10_invalid.t line 350.
#                   'Can't call method "get_children" on an undefined value at t/10_invalid.t line 348.
# '
#     doesn't match '(?^:watch is not a hash reference of type Net::ZooKeeper::Watch)'

#   Failed test 'get(): no path specified'
#   at t/10_invalid.t line 371.
#                   'Can't call method "get" on an undefined value at t/10_invalid.t line 369.
# '
#     doesn't match '(?^:Usage: Net::ZooKeeper::get\(zkh, path, \.\.\.\))'

#   Failed test 'get(): invalid number of arguments'
#   at t/10_invalid.t line 377.
#                   'Can't call method "get" on an undefined value at t/10_invalid.t line 375.
# '
#     doesn't match '(?^:invalid number of arguments)'

#   Failed test 'get(): invalid data read length'
#   at t/10_invalid.t line 383.
#                   'Can't call method "get" on an undefined value at t/10_invalid.t line 381.
# '
#     doesn't match '(?^:invalid data read length)'

#   Failed test 'get(): invalid watch hash reference'
#   at t/10_invalid.t line 389.
#                   'Can't call method "get" on an undefined value at t/10_invalid.t line 387.
# '
#     doesn't match '(?^:watch is not a hash reference of type Net::ZooKeeper::Watch)'

#   Failed test 'get(): invalid watch hash reference to array'
#   at t/10_invalid.t line 395.
#                   'Can't call method "get" on an undefined value at t/10_invalid.t line 393.
# '
#     doesn't match '(?^:watch is not a hash reference of type Net::ZooKeeper::Watch)'

#   Failed test 'get(): invalid stat hash reference'
#   at t/10_invalid.t line 401.
#                   'Can't call method "get" on an undefined value at t/10_invalid.t line 399.
# '
#     doesn't match '(?^:stat is not a hash reference of type Net::ZooKeeper::Stat)'

#   Failed test 'get(): invalid stat hash reference'
#   at t/10_invalid.t line 407.
#                   'Can't call method "get" on an undefined value at t/10_invalid.t line 405.
# '
#     doesn't match '(?^:stat is not a hash reference of type Net::ZooKeeper::Stat)'

#   Failed test 'set(): no path specified'
#   at t/10_invalid.t line 428.
#                   'Can't call method "set" on an undefined value at t/10_invalid.t line 426.
# '
#     doesn't match '(?^:Usage: Net::ZooKeeper::set\(zkh, path, buf, \.\.\.\))'

#   Failed test 'set(): no data buffer specified'
#   at t/10_invalid.t line 434.
#                   'Can't call method "set" on an undefined value at t/10_invalid.t line 432.
# '
#     doesn't match '(?^:Usage: Net::ZooKeeper::set\(zkh, path, buf, \.\.\.\))'

#   Failed test 'set(): invalid number of arguments'
#   at t/10_invalid.t line 440.
#                   'Can't call method "set" on an undefined value at t/10_invalid.t line 438.
# '
#     doesn't match '(?^:invalid number of arguments)'

#   Failed test 'set(): invalid version requirement'
#   at t/10_invalid.t line 446.
#                   'Can't call method "set" on an undefined value at t/10_invalid.t line 444.
# '
#     doesn't match '(?^:invalid version requirement)'

#   Failed test 'set(): invalid stat hash reference'
#   at t/10_invalid.t line 452.
#                   'Can't call method "set" on an undefined value at t/10_invalid.t line 450.
# '
#     doesn't match '(?^:stat is not a hash reference of type Net::ZooKeeper::Stat)'

#   Failed test 'set(): invalid stat hash reference'
#   at t/10_invalid.t line 458.
#                   'Can't call method "set" on an undefined value at t/10_invalid.t line 456.
# '
#     doesn't match '(?^:stat is not a hash reference of type Net::ZooKeeper::Stat)'

#   Failed test 'get_acl(): no path specified'
#   at t/10_invalid.t line 479.
#                   'Can't call method "get_acl" on an undefined value at t/10_invalid.t line 477.
# '
#     doesn't match '(?^:Usage: Net::ZooKeeper::get_acl\(zkh, path, \.\.\.\))'

#   Failed test 'get_acl(): invalid number of arguments'
#   at t/10_invalid.t line 485.
#                   'Can't call method "get_acl" on an undefined value at t/10_invalid.t line 483.
# '
#     doesn't match '(?^:invalid number of arguments)'

#   Failed test 'get_acl(): invalid stat hash reference'
#   at t/10_invalid.t line 491.
#                   'Can't call method "get_acl" on an undefined value at t/10_invalid.t line 489.
# '
#     doesn't match '(?^:stat is not a hash reference of type Net::ZooKeeper::Stat)'

#   Failed test 'get_acl(): invalid stat hash reference'
#   at t/10_invalid.t line 497.
#                   'Can't call method "get_acl" on an undefined value at t/10_invalid.t line 495.
# '
#     doesn't match '(?^:stat is not a hash reference of type Net::ZooKeeper::Stat)'

#   Failed test 'set_acl(): no path specified'
#   at t/10_invalid.t line 518.
#                   'Can't call method "set_acl" on an undefined value at t/10_invalid.t line 516.
# '
#     doesn't match '(?^:Usage: Net::ZooKeeper::set_acl\(zkh, path, acl_arr, \.\.\.\))'

#   Failed test 'set_acl(): no data buffer specified'
#   at t/10_invalid.t line 524.
#                   'Can't call method "set_acl" on an undefined value at t/10_invalid.t line 522.
# '
#     doesn't match '(?^:Usage: Net::ZooKeeper::set_acl\(zkh, path, acl_arr, \.\.\.\))'

#   Failed test 'set_acl(): invalid ACL array reference'
#   at t/10_invalid.t line 530.
#                   'Can't call method "set_acl" on an undefined value at t/10_invalid.t line 528.
# '
#     doesn't match '(?^i:acl_arr is not an array reference)'

#   Failed test 'set_acl(): invalid ACL array reference to hash'
#   at t/10_invalid.t line 536.
#                   'Can't call method "set_acl" on an undefined value at t/10_invalid.t line 534.
# '
#     doesn't match '(?^i:acl_arr is not an array reference)'

#   Failed test 'set_acl(): invalid ACL entry hash reference'
#   at t/10_invalid.t line 543.
#                   'Can't call method "set_acl" on an undefined value at t/10_invalid.t line 541.
# '
#     doesn't match '(?^:invalid ACL entry hash reference)'

#   Failed test 'set_acl(): no ACL entry perms element'
#   at t/10_invalid.t line 550.
#                   'Can't call method "set_acl" on an undefined value at t/10_invalid.t line 548.
# '
#     doesn't match '(?^:no ACL entry perms element)'

#   Failed test 'set_acl(): invalid ACL entry perms'
#   at t/10_invalid.t line 561.
#                   'Can't call method "set_acl" on an undefined value at t/10_invalid.t line 559.
# '
#     doesn't match '(?^:invalid ACL entry perms)'

#   Failed test 'set_acl(): no ACL entry scheme element'
#   at t/10_invalid.t line 572.
#                   'Can't call method "set_acl" on an undefined value at t/10_invalid.t line 570.
# '
#     doesn't match '(?^:no ACL entry scheme element)'

#   Failed test 'set_acl(): no ACL entry id element'
#   at t/10_invalid.t line 584.
#                   'Can't call method "set_acl" on an undefined value at t/10_invalid.t line 582.
# '
#     doesn't match '(?^:no ACL entry id element)'

#   Failed test 'set_acl(): invalid second ACL entry hash reference'
#   at t/10_invalid.t line 598.
#                   'Can't call method "set_acl" on an undefined value at t/10_invalid.t line 596.
# '
#     doesn't match '(?^:invalid ACL entry hash reference)'

#   Failed test 'set_acl(): invalid number of arguments'
#   at t/10_invalid.t line 604.
#                   'Can't call method "set_acl" on an undefined value at t/10_invalid.t line 602.
# '
#     doesn't match '(?^:invalid number of arguments)'

#   Failed test 'set_acl(): invalid version requirement'
#   at t/10_invalid.t line 610.
#                   'Can't call method "set_acl" on an undefined value at t/10_invalid.t line 608.
# '
#     doesn't match '(?^:invalid version requirement)'

#   Failed test 'stat(): too many arguments'
#   at t/10_invalid.t line 631.
#                   'Can't call method "stat" on an undefined value at t/10_invalid.t line 629.
# '
#     doesn't match '(?^:Usage: Net::ZooKeeper::stat\(zkh\))'
Can't call method "stat" on an undefined value at t/10_invalid.t line 646.
# Looks like your test exited with 2 just after 89.

                            
t/10_invalid.t .... Dubious, test returned 2 (wstat 512, 0x200)
Failed 80/107 subtests 
t/15_thread.t ..... 
t/15_thread.t ..... 1/10 
                           
t/15_thread.t ..... ok
t/20_tie.t ........ 
t/20_tie.t ........ 1/54 
                           
t/20_tie.t ........ ok
t/22_stat_tie.t ... 
t/22_stat_tie.t ... 1/66 
                           
t/22_stat_tie.t ... ok
t/24_watch_tie.t .. 
t/24_watch_tie.t .. 1/42 
                           
t/24_watch_tie.t .. ok
t/30_connect.t .... 
t/30_connect.t .... 1/29 
#   Failed test ''new(): created handle' isa 'Net::ZooKeeper''
#   at t/30_connect.t line 37.
#     'new(): created handle' isn't defined

#   Failed test ''new(): created handle with maximum session timeout' isa 'Net::ZooKeeper''
#   at t/30_connect.t line 146.
#     'new(): created handle with maximum session timeout' isn't defined
# Looks like you failed 2 tests of 29.

                           
t/30_connect.t .... Dubious, test returned 2 (wstat 512, 0x200)
Failed 2/29 subtests 
	(less 26 skipped subtests: 1 okay)
t/35_log.t ........ 
t/35_log.t ........ 1/3 
                         
t/35_log.t ........ ok
t/40_basic.t ...... 
t/40_basic.t ...... 1/35 
                           
t/40_basic.t ...... ok
t/45_class.t ...... 
t/45_class.t ...... 1/47 
#   Failed test ''new(): created subclassed handle' isa 'Net::ZooKeeper::Test''
#   at t/45_class.t line 271.
#     'new(): created subclassed handle' isn't defined
# Looks like you failed 1 test of 47.

                           
t/45_class.t ...... Dubious, test returned 1 (wstat 256, 0x100)
Failed 1/47 subtests 
	(less 45 skipped subtests: 1 okay)
t/50_access.t ..... 
t/50_access.t ..... 1/40 
t/50_access.t ..... 2/40 
                           
t/50_access.t ..... ok
t/60_watch.t ...... 
t/60_watch.t ...... 1/30 
                           
t/60_watch.t ...... ok

Test Summary Report
-------------------
t/10_invalid.t  (Wstat: 512 Tests: 89 Failed: 62)
  Failed tests:  7-8, 10-12, 15-28, 31-33, 36-41, 44-47
                50-56, 59-64, 67-70, 73-84, 87
  Non-zero exit status: 2
  Parse errors: Bad plan.  You planned 107 tests but ran 89.
t/30_connect.t  (Wstat: 512 Tests: 29 Failed: 2)
  Failed tests:  2, 22
  Non-zero exit status: 2
t/45_class.t    (Wstat: 256 Tests: 47 Failed: 1)
  Failed test:  26
  Non-zero exit status: 1
Files=11, Tests=445,  2 wallclock secs ( 0.08 usr  0.03 sys +  0.82 cusr  0.62 csys =  1.55 CPU)
Result: FAIL
Failed 3/11 test programs. 65/445 subtests failed.
make: *** [Makefile:1035: test_dynamic] Error 255

@ztzg
Copy link
Contributor Author

ztzg commented Nov 26, 2020

Hi @SuperSandro2000,

Thank you for the review.

2 packages failed to build:
[…]
Warning (mostly harmless): No library found for -lzookeeper_mt

Hmm… I'm guessing I downed a Chesterton fence too many when I removed the -L... from NIX_CFLAGS_LINK. I have now re-added it, but have Darwin machine at hand, and thus no way to reproduce/test.

@stigtsp
Copy link
Member

stigtsp commented Nov 26, 2020

@GrahamcOfBorg build perl530Packages.NetZooKeeper
@GrahamcOfBorg build perl532Packages.NetZooKeeper

@stigtsp
Copy link
Member

stigtsp commented Nov 26, 2020

I'm (also) getting test failures on darwin x64 for perl530Packages.NetZooKeeper, however perl532Packages.NetZooKeeper builds/tests OK

builder for '/nix/store/xhq0pasg89xjbmalv1mfhs7vscqky927-perl5.30.3-Net-ZooKeeper-0.41.drv' failed with exit code 2; last 10 log lines:
  t/30_connect.t  (Wstat: 512 Tests: 29 Failed: 2)
    Failed tests:  2, 22
    Non-zero exit status: 2
  t/45_class.t    (Wstat: 256 Tests: 47 Failed: 1)
    Failed test:  26
    Non-zero exit status: 1
  Files=11, Tests=445,  2 wallclock secs ( 0.07 usr  0.02 sys +  0.70 cusr  0.49 csys =  1.28 CPU)
  Result: FAIL
  Failed 3/11 test programs. 65/445 subtests failed.
  make: *** [Makefile:1034: test_dynamic] Error 255
cannot build derivation '/nix/store/40wkd932sr14bnlpcsn5hmv60j5w1p70-env.drv': 1 dependencies couldn't be built
[0 built (1 failed)]
error: build of '/nix/store/40wkd932sr14bnlpcsn5hmv60j5w1p70-env.drv' failed
https://github.com/NixOS/nixpkgs/pull/104889
1 package failed to build:
perl530Packages.NetZooKeeper

4 packages built:
haskellPackages.hzk perl532Packages.NetZooKeeper zookeeper zookeeper_mt

Also, ofBorg builds fail on a test on linux x64 and linux aarch64:

  Test Summary Report
  -------------------
  t/35_log.t      (Wstat: 512 Tests: 3 Failed: 2)
    Failed tests:  2-3
    Non-zero exit status: 2
  Files=11, Tests=463,  3 wallclock secs ( 0.11 usr  0.03 sys +  1.29 cusr  0.27 csys =  1.70 CPU)
  Result: FAIL
  Failed 1/11 test programs. 2/463 subtests failed.
  make: *** [Makefile:1034: test_dynamic] Error 255

Upstream for perlPackages.NetZooKeeper has some recent patches in master for zookeeper 3.6, this might be an option.

@ztzg
Copy link
Contributor Author

ztzg commented Dec 2, 2020

Hi @stigtsp,

Thank you for the review.

I'm (also) getting test failures on darwin x68 for perl530Packages.NetZooKeeper, however perl532Packages.NetZooKeeper builds/tests OK
[…]
Also, ofBorg builds fail on a test on linux x68 and linux aarch64:

Yeah. The remaining issues are a priori not macOS related, but just tests being flaky.

Given that the test suite is run in an environment where no ZooKeeper server is available, most tests are in fact being skipped. The ZooKeeper library being highly asynchronous, I suspect some of the remaining paths suffer from races. (The failing t/35_log.t above, for example, seems to be grepping the log before the connecting thread has had a chance to observe the TCP connection failure.)

I am consequently considering completely disabling the test suite.

Upstream for perlPackages.NetZooKeeper has some recent patches in master for zookeeper 3.6, this might be an option.

Indeed. I now realize that the situation with the CPAN Perl binding is not ideal, having diverged from ZooKeeper upstream. I have added a note and asked about upcoming releases; perhaps Mark has some suggestions.

In the meantime, I have pushed a new iteration with fetches the current tip of his master branch, and while it makes integration easier, I don't have high hopes wrt. tests—as I just saw it (sporadically) fail t/35_log.t on my workstation.

Cheers, -D

@stigtsp
Copy link
Member

stigtsp commented Dec 2, 2020

In the meantime, I have pushed a new iteration with fetches the current tip of his master branch, and while it makes integration easier, I don't have high hopes wrt. tests—as I just saw it (sporadically) fail t/35_log.t on my workstation.

Hey @ztzg !

  • Something like preCheck = "rm t/35_log.t"; is imho preferable to doCheck=false;, if possible, so we have a way of catching issues when there are updates to perl or dependencies.

  • Fetching from https://github.com/mark-5/p5-net-zookeeper looks legit to me, it is referenced from https://metacpan.org/pod/Net::ZooKeeper.

  • It would be great to include tests for perlPackages.NetZooKeeper against a zookeeper instance in nixos/tests/zookeeper.nix too, I'm not familiar with ZooKeeper but have created a test code snippet that can be added if you like, otherwise I can do a separate PR once this is one is merged.

let
  perlEnv = pkgs.perl.withPackages (p: [p.NetZooKeeper]);

...

    server.wait_until_succeeds(
        "${perlEnv}/bin/perl -E 'use Net::ZooKeeper qw(:acls); $z=Net::ZooKeeper->new(q(localhost:2181));$z->create(qw(/perl foo acl), ZOO_OPEN_ACL_UNSAFE) || die $z->get_error()'"
    )


@ztzg
Copy link
Contributor Author

ztzg commented Dec 3, 2020

Hi @stigtsp,

Excellent; I'll respin this PR with your suggestions ASAP. Thanks!

Cheers, -D

@ztzg
Copy link
Contributor Author

ztzg commented Dec 3, 2020

  • Something like preCheck = "rm t/35_log.t"; is imho preferable to doCheck=false;, if possible, so we have a way of catching issues when there are updates to perl or dependencies.

Done. (Well, removed t/35_log.t—which is is the one I saw failing. But you also observed t/30_connect.t and t/45_class.t failures on Darwin; I did not do anything about those.)

  • Fetching from https://github.com/mark-5/p5-net-zookeeper looks legit to me, it is referenced from https://metacpan.org/pod/Net::ZooKeeper.

Okay, I left that one in, labeled with version "0.42pre."

  • It would be great to include tests for perlPackages.NetZooKeeper against a zookeeper instance in nixos/tests/zookeeper.nix too, I'm not familiar with ZooKeeper but have created a test code snippet that can be added if you like, otherwise I can do a separate PR once this is one is merged.

Done. (I have also added a get.)

I have tried using .succeed() instead of .wait_until_succeeds(), but that led to spurious failures with -4, ZCONNECTIONLOSS. (That Perl binding is a bit raw, and does not wait for the connection to be established before it tries and fires the create RPC.) A sleep(1) would help, but is undesirable for other reasons. (Really, the only truly reasonable solution would be to improve the module.) Oh well…

@stigtsp
Copy link
Member

stigtsp commented Dec 3, 2020

@GrahamcOfBorg test zookeeper

@stigtsp
Copy link
Member

stigtsp commented Dec 3, 2020

@GrahamcOfBorg build perPackages.NetZooKeeper perldevelPackages.NetZooKeeper

Copy link
Member

@stigtsp stigtsp left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM on perlPackages.NetZooKeeper and nixos/tests/zookeeper.nix

@aanderse
Copy link
Member

aanderse commented Dec 8, 2020

@stigtsp sorry, not familiar with this program at all. Can't really review it properly. 😞

@SuperSandro2000
Copy link
Member

Result of nixpkgs-review pr 104889 run on x86_64-linux 1

1 package blacklisted:
  • tests.nixos-functions.nixos-test
6 packages built:
  • haskellPackages.hzk
  • perl530Packages.NetZooKeeper
  • perl532Packages.NetZooKeeper
  • zkfuse
  • zookeeper
  • zookeeper_mt

@stigtsp
Copy link
Member

stigtsp commented Dec 9, 2020

@stigtsp sorry, not familiar with this program at all. Can't really review it properly. disappointed

Likewise, however changes look legit and tests pass. I'm inclined to merge unless there are objections.

@ztzg
Copy link
Contributor Author

ztzg commented Dec 9, 2020

@stigtsp: I don't have any outstanding items, so +1 from me.

(Of course, I may be a bit biased :) But I provide ZooKeeper support professionally, am a committer on the Apache project, and am planning to stick around for a while.)

A big jump, but the structure hasn't changed much.

This recipe is still based on a binary release provided by upstream.

(It might be interesting to start doing our own builds at some point,
to split client from server, and/or to create packages for removed
"contribs" such as 'zooInspector'.  Upstream intends to further slim
down its release tarballs as most deployments only need specific assets.)
This patch:

  * Removes an invalid/useless classpath element;
  * Removes an unnecessary environment variable;
  * Creates the required '/version-2' data subdirectory;
  * Redirects audit logging to the "console" (systemd) by default.
@stigtsp
Copy link
Member

stigtsp commented Dec 9, 2020

@GrahamcOfBorg build perl530Packages.NetZooKeeper perl532Packages.NetZooKeeper perldevelPackages.NetZooKeeper
@GrahamcOfBorg build zkfuse zookeeper zookeeper_mt haskellPackages.hzk
@GrahamcOfBorg test zookeeper

Copy link
Member

@stigtsp stigtsp left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks good to me. Thank you for the contributions, and welcome to the NixOS project!

  • Source are legit, and other changes to derivations look ok
  • Did some basic zkCli.sh tests of the zookeeper nixos module in a nixos-shell
  • perlPackages.NetZooKeeper is OK

@stigtsp stigtsp merged commit c92afdc into NixOS:master Dec 9, 2020
@ztzg
Copy link
Contributor Author

ztzg commented Dec 9, 2020

Thanks!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

5 participants