1. 13 Mar, 2020 1 commit
  2. 09 Mar, 2020 1 commit
  3. 23 Feb, 2020 6 commits
  4. 18 Feb, 2020 2 commits
  5. 11 Feb, 2020 1 commit
  6. 07 Feb, 2020 1 commit
    • Charles-Henri de Boysson's avatar
      fix(core): Implement proper retry backoff logic with jitter. · 0bb0659c
      Charles-Henri de Boysson authored
      New retry logic takes a maximum percentage off the canonical backoff,
      ensure gradual predictable retries timings while still having a
      controlable amount of jitter (re-introducing the `max_jitter` parameter)
      to avoids swarming client retries.
      
      Fix regression introduced in 60366d2c
      where retry/backoff logic produced only whole second (integer) retry
      delays.
      
      This produced inadequate retries on first retry and would generally not
      work on fast network where sub miliseconds retries are desired.
      Additionally, with high `max_delay` setting, as the range was always
      spanning from 0 until the last delay, it would also produce extremely
      random results with short delays following longer ones which is contrary
      to the expected backoff logic.
      0bb0659c
  7. 10 Nov, 2019 1 commit
  8. 09 Oct, 2019 1 commit
    • Stephen SORRIAUX's avatar
      feat(CI): Keep only Python 3.{6,7} to CI and bump ZK versions to latests (#574) · c293aabf
      Stephen SORRIAUX authored
      * Switching to xenial distrib to make python 3.7 available
      
      * Testing against 3.5.5 instead of 3.5.4-beta and deploying new version for python 3.7 and zk 3.5.5
      
      * Testing against zk 3.4.14 instead of 3.4.13
      
      * Change pattern for slf4j-log4j lib
      
      * Since ZOOKEEPER-3156 it is now required to be authed to access ACLs
      
      * Drop support for ZK 3.3.x and Python 3.{4,5}
      c293aabf
  9. 04 Oct, 2019 1 commit
  10. 01 Oct, 2019 1 commit
    • Kurganov's avatar
      fix(recipe): crash if None in znode (#569) · ded79467
      Kurganov authored
      Avoid
      ```
        File "/home/tests/kazoo/recipe/lock.py", line 341, in contenders
          contenders.append(data.decode('utf-8'))
      AttributeError: 'NoneType' object has no attribute 'decode'
      ```
      ded79467
  11. 06 Aug, 2019 1 commit
    • Paweł Szulik's avatar
      feat(utils): extend create_tcp_connection utility (#568) · ab0cd00c
      Paweł Szulik authored
      Add parameters to setup SSL context options and ciphers when playing with secure connection.
      It can be set via a handler:
      ```
      class MySequentialThreadingHandler(SequentialThreadingHandler):
          def create_connection(self, *args, **kwargs):
              return create_tcp_connection(socket, options=MY_OPTIONS, ciphers=MY_CIPHERS,
                                           *args, **kwargs)
      ```
      ab0cd00c
  12. 07 May, 2019 1 commit
    • BrianEaton1's avatar
      feat(recipe): add support for curator SharedCount recipe (#559) · 88b657a0
      BrianEaton1 authored
      * feat(recipe): add support for curator SharedCount recipe
      
      This feature allows Java clients using curator's SharedCount recipe
      and python clients using kazoo's Counter recipe to read and
      write from the same path without receiving type errors.
      
      example use:
      
      counter = zk.Counter("/curator", support_curator=True)
      counter += 2
      counter -= 1
      counter.value == 1
      counter.pre_value == 2
      counter.post_value == 1
      
      Closes #558
      88b657a0
  13. 12 Feb, 2019 1 commit
    • Charles-Henri de Boysson's avatar
      feat(core): improve SASL interface (#546) · cd49b3fa
      Charles-Henri de Boysson authored
      Move SASL configuration out of auth_data into its own dictionary which exposes more SASL features (e.g. server service name, client principal...). Legacy syntax is still supported for backward compatibilty.
      Remove SASL from auth_data and place it between 'connection' and 'zookeeper protocol level authentication' to simplify connection logic and bring code in line with the protocol stack (SASL wraps Zookeeper, not the other way around).
      Consistent exception, `AuthFailedError`, raised during authentication failure between SASL and ZK authentication.
      New 'SASLException' exception raised in case of SASL intrisinc failures.
      Add support for GSSAPI (Kerberos).
      
      Example connection using Digest-MD5:
      
        client = KazooClient(
            sasl_options={'mechanism': 'DIGEST-MD5',
                          'username': 'myusername',
                          'password': 'mypassword'}
        )
      
      Example connection using GSSAPI (with some optional settings):
      
        client = KazooClient(
            sasl_options={'mechanism': 'GSSAPI',
                          'service': 'myzk',                  # optional
                          'principal': 'clt@EXAMPLE.COM'}     # optional
        )
      cd49b3fa
  14. 29 Jan, 2019 2 commits
  15. 15 Jan, 2019 1 commit
  16. 13 Jan, 2019 1 commit
  17. 11 Dec, 2018 1 commit
  18. 06 Dec, 2018 1 commit
    • kulallwang's avatar
      fix(recipe): No more memory leak when ChildrenWatch was stopped (#543) · 37bcda35
      kulallwang authored
      This ensures that the watcher is removed from the client listener when the func given to ChildrenWatch returns False.
      Previously, the watcher was never removed so the ChildrenWatch object would endlessly grow in memory. A unit test is added to ensure this case never happen again.
      
      Fix #542 
      37bcda35
  19. 27 Nov, 2018 1 commit
    • Florian Margaine's avatar
      fix(core): reduce timeout for the first Connect() request (#540) · 2ae392e6
      Florian Margaine authored
      In the case of a zookeeper server under pressure, it will typically try to maintain the quorum rather than handling client requests. In this kind of case, the quorum is maintained, the connection works, but the client is frozen there.
      
      Retrying after a shorter timeout means we can reconnect to another server before losing the session altogether.
      2ae392e6
  20. 21 Nov, 2018 1 commit
    • Jiangge Zhang's avatar
      fix(recipe): No more memory leak once TreeCache was closed (#524) · c48f2733
      Jiangge Zhang authored
      fix(recipe): Fix memory leak of TreeCache recipe.
      
      Fix memory leak on idle handler and on closed TreeCache.
      Add new memory tests for TreeCache recipe that uses
      objgraph and other tests for various handler on TreeCache.
      Let TreeCache start in a safe way. The doc now suggest to
      close unused TreeCache.
      c48f2733
  21. 15 Nov, 2018 1 commit
  22. 14 Nov, 2018 1 commit
  23. 09 Nov, 2018 1 commit
    • Chris Donati's avatar
      fix(core): ensure timeout argument is positive (#534) · 8c5ce118
      Chris Donati authored
      Previously, a gap between calls to `time.time()` could lead to a
      situation where the current time was less than `end` during the
      `while` condition, but it was greater than `end` when assigning
      a value to `timeout_at`.
      
      Add tests to ensure a socket.error is raised instead of passing a
      nonpositive value as a timeout to socket.create_connection.
      8c5ce118
  24. 26 Oct, 2018 1 commit
  25. 23 Oct, 2018 1 commit
  26. 18 Oct, 2018 1 commit
  27. 17 Oct, 2018 1 commit
  28. 09 Oct, 2018 2 commits
  29. 08 Oct, 2018 4 commits