Merge lp://staging/~hazmat/txzookeeper/backoff-retry-managed-sanity into lp://staging/~hazmat/txzookeeper/trunk
Status: | Merged | ||||
---|---|---|---|---|---|
Merge reported by: | Kapil Thangavelu | ||||
Merged at revision: | not available | ||||
Proposed branch: | lp://staging/~hazmat/txzookeeper/backoff-retry-managed-sanity | ||||
Merge into: | lp://staging/~hazmat/txzookeeper/trunk | ||||
Diff against target: |
3336 lines (+2225/-241) 27 files modified
.bzrignore (+4/-0) Makefile (+6/-0) debian/changelog (+18/-0) setup.py (+6/-3) txzookeeper/__init__.py (+5/-2) txzookeeper/client.py (+159/-79) txzookeeper/lock.py (+6/-3) txzookeeper/managed.py (+413/-0) txzookeeper/node.py (+7/-26) txzookeeper/queue.py (+5/-2) txzookeeper/retry.py (+359/-0) txzookeeper/tests/__init__.py (+57/-7) txzookeeper/tests/common.py (+27/-2) txzookeeper/tests/proxy.py (+97/-0) txzookeeper/tests/test_client.py (+63/-77) txzookeeper/tests/test_conn_failure.py (+194/-0) txzookeeper/tests/test_lock.py (+4/-1) txzookeeper/tests/test_managed.py (+309/-0) txzookeeper/tests/test_node.py (+6/-3) txzookeeper/tests/test_queue.py (+5/-2) txzookeeper/tests/test_retry.py (+332/-0) txzookeeper/tests/test_security.py (+4/-1) txzookeeper/tests/test_session.py (+111/-20) txzookeeper/tests/test_utils.py (+4/-1) txzookeeper/tests/utils.py (+4/-1) txzookeeper/todo.txt (+1/-9) txzookeeper/utils.py (+19/-2) |
||||
To merge this branch: | bzr merge lp://staging/~hazmat/txzookeeper/backoff-retry-managed-sanity | ||||
Related bugs: |
|
Reviewer | Review Type | Date Requested | Status |
---|---|---|---|
Kapil Thangavelu | Pending | ||
Review via email: mp+146938@code.staging.launchpad.net |
Description of the change
Session management and retry improvements.
Lots of improvements and several bug fixes.
Previously managed clientwas returning the underlying session client instead
of retry, so retry wasn't enabled for uses trying to catch/store the client from
connect.
The retry code was using seconds for session timeout instead of milliseconds.
The retry code wasn't taking account of the start of retry properly when
determining max retry.
The retry on persistent error wasn't signaling to the managed client to
establish a new session.
The client code wasn't properly cleaning up txzk handles on conn timeouts.
The session establishment now uses the client session events so even without
activity or active watches the session is restablished.
Session restablishment will now backoff on reconnects for up to 6m.
Reviewers: mp+146938_ code.launchpad. net,
Message:
Please take a look.
Description:
Session management and retry improvements.
Lots of improvements and several bug fixes.
Previously managed clientwas returning the underlying session client
instead
of retry, so retry wasn't enabled for uses trying to catch/store the
client from
connect.
The retry code was using seconds for session timeout instead of
milliseconds.
The retry code wasn't taking account of the start of retry properly when
determining max retry.
The retry on persistent error wasn't signaling to the managed client to
establish a new session.
The client code wasn't properly cleaning up txzk handles on conn
timeouts.
The session establishment now uses the client session events so even
without
activity or active watches the session is restablished.
Session restablishment will now backoff on reconnects for up to 6m.
https:/ /code.launchpad .net/~hazmat/ txzookeeper/ backoff- retry-managed- sanity/ +merge/ 146938
(do not edit description out of merge proposal)
Please review this at https:/ /codereview. appspot. com/7307051/
Affected files: __init_ _.py client. py managed. py queue.py retry.py tests/_ _init__ .py tests/common. py tests/proxy. py tests/test_ client. py tests/test_ conn_failure. py tests/test_ lock.py tests/test_ managed. py tests/test_ node.py tests/test_ queue.py tests/test_ retry.py tests/test_ security. py tests/test_ session. py tests/test_ utils.py tests/utils. py todo.txt utils.py
A .bzrignore
A [revision details]
M debian/changelog
M setup.py
M txzookeeper/
M txzookeeper/
M txzookeeper/lock.py
A txzookeeper/
M txzookeeper/node.py
M txzookeeper/
A txzookeeper/
M txzookeeper/
M txzookeeper/
A txzookeeper/
M txzookeeper/
A txzookeeper/
M txzookeeper/
A txzookeeper/
M txzookeeper/
M txzookeeper/
A txzookeeper/
M txzookeeper/
M txzookeeper/
M txzookeeper/
M txzookeeper/
M txzookeeper/
M txzookeeper/