Details
-
Bug
-
Resolution: Fixed
-
Major
-
None
-
None
-
None
-
1
-
SDK37
Description
We see occasional segfaults when the test environment closes the cluster explicitly before the cluster goes out of scope. The issues tsan shows are data races at shutdown, which is odd since we explicitly closed first. So... that is a bit odd, but letting the cluster just go out of scope, I see no thread sanitizer issues, and no apparent python object (or c++ object) leak.
So let's fix this such that a cluster.close() is safe to use, though it is usually not needed. I believe the RFC states the behavior to be that after close we raise exceptions if any operation requires i/o to the servers, which we should verify happens as well.
Part of this will be to confirm (say, with tsan and asan) that we can run with and without an explicit close, and not run into data races, crashes or leaks when the cluster (and/or transactions) go out of scope.
Attachments
Issue Links
- relates to
-
PYCBC-1298 Segfault when closing while async operations are happening
- Resolved
-
PYCBC-1407 SDK 4: repeated calls to cluster.close() results in segmentation fault
- Resolved