You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
PYCBC-1928: Hold the close paths to one connection lifecycle model
Changes
--------
* Gate the lazily constructed Transactions property on the same two
guards every other cluster operation uses, in both trees, so a closed
or never-connected cluster no longer hands back a live Transactions
owning cleanup threads and a client-record registration
* Stop close waiting on a connection it has to start, in the async
cluster and bucket paths both, and stop a failed connect or open
coming back out of close(): wait only for one already in flight, so a
connection that comes up late is still torn down, and treat its
failure as nothing to tear down
* Make bucket close idempotent in both trees, matching cluster close,
which already returns rather than raising on a closed or
never-connected cluster
* Add lifecycle suites for both trees, needing no cluster, and rework
the transactions race suite for the new guard without losing its
PYCBC-1821 coverage: removing the double-checked lock still fails it
Change-Id: I64bb70abb0fd56b859b3c98113e1ff129a51c2ac
Reviewed-on: https://review.couchbase.org/c/couchbase-python-client/+/252028
Tested-by: Build Bot <build@couchbase.com>
Reviewed-by: Sergey Avseyev <sergey.avseyev@gmail.com>
0 commit comments