1. 14 Sep, 2020 1 commit
    • Petter A. Urkedal's avatar
      ZOOKEEPER-3935: Handle float metrics in check_zookeeper · efe83bae
      Petter A. Urkedal authored
      After upgrading to Zookeeper 3.6, Nagios tests for zk_avg_latency started failing due to floating point metrics being compared as strings.
      
      Author: Petter A. Urkedal <paurkedal@gmail.com>
      
      Reviewers: Enrico Olivelli <eolivelli@apache.org>, Mate Szalay-Beko <symat@apache.org>
      
      Closes #1452 from paurkedal/check_zookeeper-float
      efe83bae
  2. 03 Sep, 2020 1 commit
  3. 27 Aug, 2020 1 commit
  4. 24 Aug, 2020 1 commit
  5. 21 Aug, 2020 1 commit
    • odidev's avatar
      ZOOKEEPER-3913: Upgrade to Netty 4.1.50.Final · e16361d8
      odidev authored
      - Upgrade Netty to its latest version 4.1.50.Final which includes both security fixes and AArch64 performance improvements
      Refer release notes for detail: https://netty.io/news/2020/05/13/4-1-50-Final.html
      - Upgraded surefire to 3.0.0-M5 due to compatibility
      
      Author: odidev <odidev@puresoftware.com>
      
      Reviewers: Enrico Olivelli <eolivelli@apache.org>, Mate Szalay-Beko <symat@apache.org>
      
      Closes #1428 from odidev/netty_upgrade
      e16361d8
  6. 14 Aug, 2020 1 commit
    • Andor Molnar's avatar
      ZOOKEEPER-3896: Added cleanup bits to all ZK builds · e6c089b0
      Andor Molnar authored
      Recently I noticed some weird null pointer exception issues during compile in out new builds. I usually resolve this by a full "git clean" locally, so I added it to the Jenkinsfiles too.
      
      Author: Andor Molnar <andor@apache.org>
      
      Reviewers: Enrico Olivelli <eolivelli@apache.org>
      
      Closes #1431 from anmolnar/ZOOKEEPER-3896
      e6c089b0
  7. 12 Aug, 2020 1 commit
    • Tamas Penzes's avatar
      ZOOKEEPER-3862: Re-enable deprecation check after finishing jUnit upg… · 0b386e45
      Tamas Penzes authored
      …rade
      
      Last changes on sub-components which need to be build every time and re-enable deprecation check for the builds.
      
      Change-Id: Iebf83d7727d9d7535b367613d262800ad6331fa7
      
      Author: Tamas Penzes <tamaas@cloudera.com>
      
      Reviewers: eolivelli@apache.org, andor@apache.org
      
      Closes #1424 from tamaashu/ZOOKEEPER-3862
      0b386e45
  8. 08 Aug, 2020 1 commit
    • Andor Molnar's avatar
      ZOOKEEPER-3905: Race condition causes sessions to be created for clients even... · b86899ec
      Andor Molnar authored
      ZOOKEEPER-3905: Race condition causes sessions to be created for clients even though their certificate authentication has failed
      
      Netty channel doesn't get closed if authentication fails after a successful SSL handshake. We need a custom authentication provider in order to trigger this, because the default implementation does the same check as for the SSL handshake. Hence it never fails.
      
      Unit test added to make sure client is not able to connect.
      
      Target branches: master, 3.6, 3.5 (will create separate PR for 3.5)
      
      Author: Andor Molnar <andor@apache.org>
      
      Reviewers: Enrico Olivelli <eolivelli@apache.org>, Mate Szalay-Beko <symat@apache.org>
      
      Closes #1422 from anmolnar/ZOOKEEPER-3905
      b86899ec
  9. 07 Aug, 2020 1 commit
  10. 06 Aug, 2020 2 commits
  11. 04 Aug, 2020 1 commit
    • Tamas Penzes's avatar
      ZOOKEEPER-3872: Upgrade jUnit in ZooKeeper-server · c42c8c94
      Tamas Penzes authored
      Sub-task of ZOOKEEPER-3732, updating jUnit to 5.6.2 in zookeeper-server sub-component.
      
      Change-Id: I1fc2a7f860eae0f1d285cb278f6eca7a3b947695
      
      Author: Tamas Penzes <tamaas@cloudera.com>
      
      Reviewers: Mate Szalay-Beko <symat@apache.org>, Norbert Kalmar <nkalmar@apache.org>
      
      Closes #1417 from tamaashu/ZOOKEEPER-3872
      c42c8c94
  12. 31 Jul, 2020 1 commit
    • Tudor Bosman's avatar
      ZOOKEEPER-3885: add locking for watchers hashtables · b776b236
      Tudor Bosman authored
      See the comments in the JIRA issue.
      
      Author: Tudor Bosman <tudor@rockset.com>
      
      Reviewers: Mate Szalay-Beko <symat@apache.org>, Damien Diederen <dd@crosstwine.com>, Enrico Olivelli <eolivelli@apache.org>
      
      Closes #1403 from tudor/htlocking1
      b776b236
  13. 29 Jul, 2020 4 commits
  14. 28 Jul, 2020 1 commit
    • Alexey.Saltanov's avatar
      ZOOKEEPER-3112: fix fd leak due to UnresolvedAddressException on connect · 6a8728d9
      Alexey.Saltanov authored
      SocketChannel.connect() can throw different kind of exceptions but ClientCnxnSocketNIO.connect() handles only IOException. This could lead to FD leak when socked is opened but is not connected. We should handle some additional exception classes and close the socket.
      
      Author: Alexey.Saltanov <Alexey.Saltanov@billing.ru>
      
      Reviewers: Enrico Olivelli <eolivelli@apache.org>, Mate Szalay-Beko <symat@apache.org>
      
      Closes #1410 from saltos/ZOOKEEPER-3112
      6a8728d9
  15. 27 Jul, 2020 1 commit
    • Andor Molnar's avatar
      ZOOKEEPER-3896: Remove badly behaving PollSCM trigger · 1c41e127
      Andor Molnar authored
      PollSCM trigger triggers a build every time it scans the ZooKeeper repo regardless the branch pointer has been changed or not. Instead, I try to use the built-in 'Scan Multibranch Pipeline' instead which should be good for the same purpose.
      
      Author: Andor Molnar <andor@apache.org>
      
      Reviewers: Enrico Olivelli <eolivelli@apache.org>
      
      Closes #1415 from anmolnar/ZOOKEEPER-3896
      1c41e127
  16. 24 Jul, 2020 2 commits
    • Andor Molnar's avatar
      ZOOKEEPER-3896: PollSCM hourly only to let previous builds to finish · 5de840cd
      Andor Molnar authored
      Looks like that PollSCM trigger will trigger another build on the same ref if other builds haven't completed rather than haven't started.
      
      I change the polling interval to hourly to let other builds finish in time.
      
      Author: Andor Molnar <andor@apache.org>
      
      Reviewers: Enrico Olivelli <eolivelli@apache.org>
      
      Closes #1413 from anmolnar/ZOOKEEPER-3896_2
      5de840cd
    • Shyam Sundar J's avatar
      ZOOKEEPER-3415: convert internal logic to use java8 streams · 281a7c30
      Shyam Sundar J authored
      I have refactored few for loops that perform just some filtering and collections
      
      Author: Shyam Sundar J <shyamsundarcoolz@gmail.com>
      
      Reviewers: eolivelli@apache.org, andor@apache.org
      
      Closes #1311 from severussundar/ZOOKEEPER-3415 and squashes the following commits:
      
      f07461cd7 [Shyam Sundar J] Merge branch 'master' into ZOOKEEPER-3415
      78ed4c8ec [Shyam Sundar J] removing extra whitespaces and newlines
      6fd7751de [Shyam Sundar J] removing unused imports and tabs
      cb133fd33 [Shyam Sundar J] Merge branch 'master' of https://github.com/apache/zookeeper into ZOOKEEPER-3415
      3f9a39a62 [Shyam Sundar J] ZOOKEEPER-3415 :convert internal logic to use java8 streams
      281a7c30
  17. 23 Jul, 2020 1 commit
  18. 17 Jul, 2020 1 commit
  19. 13 Jul, 2020 1 commit
  20. 30 Jun, 2020 1 commit
    • Tamas Penzes's avatar
      ZOOKEEPER-3852: Upgrade jUnit in ZooKeeper-Jute · 6ab1822e
      Tamas Penzes authored
      Sub-task of ZOOKEEPER-3732, updating jUnit to 5.6.2 in zookeeper-it sub-component.
      
      Change-Id: I495a1516c07bc597558719030a0d585bc7d4f7eb
      
      Author: Tamas Penzes <tamaas@cloudera.com>
      
      Reviewers: Enrico Olivelli <eolivelli@apache.org>, Norbert Kalmar <nkalmar@apache.org>, Mate Szalay-Beko <symat@apache.org>
      
      Closes #1386 from tamaashu/ZOOKEEPER-3852
      6ab1822e
  21. 24 Jun, 2020 1 commit
  22. 19 Jun, 2020 1 commit
    • Mate Szalay-Beko's avatar
      ZOOKEEPER-3865: fix backward-compatibility for ZooKeeperServer constructor · f6c9bac7
      Mate Szalay-Beko authored
      In the fix of ZOOKEEPER-3829 I accidentally changed a public constructor of ZooKeeper server. I didn’t realize Curator is using it for testing (and maybe other Apache projects are doing so as well).
      
      In this PR I restore the original constructor for master and branch-3.6.
      
      For branch-3.5 I will submit an other PR, that will make it compatible with e.g. Curator 4.3.
      
      Author: Mate Szalay-Beko <symat@apache.org>
      
      Reviewers: Enrico Olivelli <eolivelli@apache.org>
      
      Closes #1382 from symat/ZOOKEEPER-3865
      f6c9bac7
  23. 16 Jun, 2020 1 commit
    • Tamas Penzes's avatar
      ZOOKEEPER-3850: Update jUnit to 5.6 in pom.xml files · 8da9c723
      Tamas Penzes authored
      First sub-task of ZOOKEEPER-3732 Update jUnit to 5.6. Updating jUnit to 5.6.2 without code changes.
      Since many jUnit resources got deprecated I had to switch off the check for deprecation which has to be enabled again in a later step.
      
      Change-Id: Ib152ab085c3f3ed8fec7f317d33a68f43d14735f
      
      Author: Tamas Penzes <tamaas@cloudera.com>
      
      Reviewers: Enrico Olivelli <eolivelli@apache.org>, Mate Szalay-Beko <symat@apache.org>
      
      Closes #1372 from tamaashu/ZOOKEEPER-3850
      8da9c723
  24. 10 Jun, 2020 1 commit
  25. 08 Jun, 2020 3 commits
    • Jordan Zimmerman's avatar
      ZOOKEEPER-3831: add a compatibility test module · 79a99ac9
      Jordan Zimmerman authored
      ZooKeeper has many external libraries that are dependent on staying compatible. For example, Apache Curator. This new module will be used to add compatibility tests for any third party library, tool, etc. that we want to ensure maintains compatibility. The module is configured with Maven not to install/deploy so it's only for testing purposes. An initial test using Apache Curator is added.
      
      Author: Jordan Zimmerman <jordan@jordanzimmerman.com>
      
      Reviewers: Enrico Olivelli <eolivelli@apache.org>, Mate Szalay-Beko <symat@apache.org>
      
      Closes #1369 from Randgalt/ZOOKEEPER-3831-add-compatibility-test-module
      79a99ac9
    • Jie Huang's avatar
      ZOOKEEPER-3856: Add a couple metrics to track inflight diff syncs and snap syncs · 50112558
      Jie Huang authored
      There are useful metrics in a cluster with a large number of observes:
      INFLIGHT_SNAP_COUNT
      INFLIGHT_DIFF_COUNT
      
      Author: Jie Huang <jiehuang@fb.com>
      
      Reviewers: Enrico Olivelli <eolivelli@apache.org>, Mate Szalay-Beko <symat@apache.org>
      
      Closes #1374 from jhuan31/ZOOKEEPER-3856
      50112558
    • Jie Huang's avatar
      ZOOKEEPER-3845: Add metric JVM_PAUSE_TIME · db99959e
      Jie Huang authored
      Author: Jie Huang <jiehuang@fb.com>
      
      Reviewers: Michael Han <hanm@apache.org>, Andor Molnar <andor@apache.org>, Enrico Olivelli <eolivelli@apache.org>, Mate Szalay-Beko <symat@apache.org>
      
      Closes #1365 from jhuan31/ZOOKEEPER-3845
      db99959e
  26. 29 May, 2020 1 commit
    • Mate Szalay-Beko's avatar
      ZOOKEEPER-3829: fix rolling restart when dynamic reconfig is disabled · e91455c1
      Mate Szalay-Beko authored
      In four different Jira tickets (ZOOKEEPER-3829, ZOOKEEPER-3830, ZOOKEEPER-3814, ZOOKEEPER-3842) we saw different errors when dynamic reconfig was disabled and we used rolling restart to change the quorum membership configuration. These rolling restart sequences was working fine on 3.4 but caused errors in 3.5 or 3.6.
      
      In worst case the rolling restart leads to the scenario that we had an elected leader which was up but unable to commit any changes. This happens, when the quorum is extended with a new member in the following sequence:
      * start server.1, server.2, server.3 (with config: 1,2,3)
      * start server.4 (with config 1,2,3,4)
      * stop server.1, then restart it with config 1,2,3,4
      * stop server.2, then restart it with config 1,2,3,4
      * stop server.3, then restart it with config 1,2,3,4
      * at this point leader is server.4, but it can not commit any transaction
      
      An other error we saw was when we changed a host name of an existing member (removing server.5 and add a new host as server.6). In this case we found in the logs of the new server (server.6) that it is still tried to connect to the old invalid server (server.5), although it was missing from it's config. The same problem remained even after making a full rolling-restart on all the nodes.
      
      In this patch I try to fix these issues without breaking anything. The patch contains the following changes:
      * We are making sure that neither the committed, nor the last seen config gets updated if dynamic reconfig is disabled.
      * It is not possible now to start the leader without the ability of committing transaction, when dynamic reconfig is disabled (this is only needed to avoid a reconfig edge-case).
      * I added a testcase simulating the enablement of dynamic reconfig using rolling restart
      * I added a few more unit tests to cover rolling restart scenarios. (the tests are failing without the patch but succeeding after applying it).
      * The enablement / disablement of reconfig is getting initialized now in the QuorumPeer and gets propagated to the other classes. This was needed for the rolling restart tests to be able to enable/disable reconfig only for the newly created servers without affecting the servers running already in the same JVM.
      
      I also tested the changes with docker, using: https://github.com/symat/zookeeper-docker-test
      
      target branches: 3.5, 3.6, master
      
      Author: Mate Szalay-Beko <symat@apache.org>
      
      Reviewers: Enrico Olivelli <eolivelli@apache.org>, Norbert Kalmar <nkalmar@apache.org>
      
      Closes #1356 from symat/ZOOKEEPER-3829
      e91455c1
  27. 27 May, 2020 2 commits
  28. 21 May, 2020 2 commits
  29. 20 May, 2020 1 commit
  30. 17 May, 2020 2 commits
    • Damien Diederen's avatar
      ZOOKEEPER-1998: Allow C client to throttle host name resolutions · a908001b
      Damien Diederen authored
      Some environments experience high DNS load because of the name resolutions introduced by [ZOOKEEPER-1355](https://issues.apache.org/jira/browse/ZOOKEEPER-1355).
      
      This patch allows clients to set a minimum delay to observe between "routine" resolutions using a `zoo_set_servers_resolution_delay` API function.
      
      An application can influence the rate of polling via its `delay_ms` parameter: when set to a value greater than zero, the client skips most "routine" resolutions which would have happened in a window of that many milliseconds since the last successful one.
      
      Setting `delay_ms` to `0` disables the new logic, reverting to the default behavior.  Setting it to `-1` disables network resolutions during normal operation (but not, e.g., on connection loss).
      
      Author: Damien Diederen <dd@crosstwine.com>
      
      Reviewers: Enrico Olivelli <eolivelli@apache.org>, Mate Szalay-Beko <symat@apache.org>, Suhas Dantkale
      
      Closes #1068 from ztzg/ZOOKEEPER-1998-throttle-dns-resolutions
      a908001b
    • tison's avatar
      ZOOKEEPER-837: Eliminate cycle dependency between ClientCnxn and ZooKeeper · d99c9e8b
      tison authored
      1. Extract ZKWatchManager to single file
      2. Move ZKWatchManager instance to ClientCnxn in order to eliminate cycle dependency
      3. let `ZooKeeper` syncs a copy of default watcher, in order to reduce dependencies to `getWatchManager()`
      
      Author: tison <wander4096@gmail.com>
      
      Reviewers: Enrico Olivelli <eolivelli@apache.org>, Andor Molnar <andor@apache.org>
      
      Closes #1095 from TisonKun/ZOOKEEPER-837
      d99c9e8b