mongo-python-driver/test
Shane Harvey 1b2a599706 PYTHON-1272 Fix deadlock when garbage collecting pinned cursors and sessions (#642)
It's not safe to return the pinned connection to the pool from within
Cursor.del because the Pool's lock may be held by a python thread
while the cyclic garbage collector runs. Instead we send the cursor
cleanup request to the client's background thread. The thread will
send killCursors on the pinned socket and then return the socket to
the pool.
Also fixed a similar bug when garbage collecting a pinned session.

(cherry picked from commit 6bc5e088af)
2021-06-23 10:31:29 -07:00
..
atlas PYTHON-1878 Add mongodb+srv URIs to Atlas Connectivity tests (#538) 2021-01-06 14:53:01 -08:00
auth PYTHON-2034 Support MONGODB-AWS authentication mechanism 2020-03-03 09:43:48 -08:00
auth_aws PYTHON-2034 Support MONGODB-AWS authentication mechanism 2020-03-03 09:43:48 -08:00
bson_corpus PYTHON-2556 Disable dots and dollars validation 2021-06-22 13:22:23 -07:00
certificates PYTHON-2144 Handle the case where the peer omits the self-signed issuer cert 2020-03-10 16:44:49 -07:00
change_streams PYTHON-2676 Unified Test Runner changes in preparation for Load Balancer Support (#623) 2021-05-18 10:23:05 -07:00
client-side-encryption PYTHON-2472 add a metadataClient for CSFLE (#539) 2021-03-01 11:48:26 -08:00
cmap PYTHON-2629 Use hello command when API Version is declared (#610) 2021-05-10 14:43:04 -07:00
collection_management PYTHON-2557 Timeseries collection support 2021-06-16 14:36:09 -07:00
command_monitoring PYTHON-2757 PYTHON-2730 Resync command monitoring killCursors tests (#643) 2021-06-22 15:36:39 -07:00
connection_string/test Fix UTF-8 hosts test 2017-08-23 22:45:20 -04:00
crud PYTHON-2556 Disable dots and dollars validation 2021-06-22 13:22:23 -07:00
data_lake PYTHON-2318 Atlas Data Lake testing (#500) 2020-12-17 13:59:26 -08:00
discovery_and_monitoring PYTHON-2676 Unified Test Runner changes in preparation for Load Balancer Support (#623) 2021-05-18 10:23:05 -07:00
discovery_and_monitoring_integration PYTHON-2629 Use hello command when API Version is declared (#610) 2021-05-10 14:43:04 -07:00
gridfs PYTHON-1487 - Resync GriFS spec tests 2018-04-05 15:12:52 -07:00
load_balancer PYTHON-2677 Better wait queue timeout errors for load balanced clusters (#639) 2021-06-21 19:39:39 -07:00
max_staleness PYTHON-2282 Resync maxStalenessSeconds spec tests (#452) 2020-07-07 15:17:23 -07:00
mod_wsgi_test PYTHON-1467 - PyMongo no longer supports Python 2.6 2018-07-02 15:15:43 -07:00
ocsp PYTHON-2144 Test OCSP on macOS and Windows 2020-06-09 09:31:17 -07:00
performance PYTHON-1918 Fix decoding perf test 2019-09-12 16:53:38 -07:00
read_write_concern PYTHON-2037 Test operations omit default write concern 2020-05-08 17:48:07 -07:00
retryable_reads PYTHON-2676 Unified Test Runner changes in preparation for Load Balancer Support (#623) 2021-05-18 10:23:05 -07:00
retryable_writes PYTHON-2676 Unified Test Runner changes in preparation for Load Balancer Support (#623) 2021-05-18 10:23:05 -07:00
sdam_monitoring PYTHON-2351 Update sdam monitoring tests with directConnection uri option (#481) 2020-08-28 10:56:15 -07:00
server_selection PYTHON-2676 Unified Test Runner changes in preparation for Load Balancer Support (#623) 2021-05-18 10:23:05 -07:00
sessions PYTHON-2392 Implicit sessions should always be discarded after connection errors (#498) 2020-10-12 12:21:45 -07:00
srv_seedlist PYTHON-2671 Support loadBalanced URI option (#614) 2021-05-05 12:51:53 -07:00
transactions PYTHON-2676 Unified Test Runner changes in preparation for Load Balancer Support (#623) 2021-05-18 10:23:05 -07:00
transactions-convenient-api PYTHON-2676 Unified Test Runner changes in preparation for Load Balancer Support (#623) 2021-05-18 10:23:05 -07:00
unicode PYTHON-1918 Stop using BSON.encode and BSON.decode functions 2019-09-09 18:06:46 -07:00
unified-test-format PYTHON-2757 PYTHON-2730 Resync command monitoring killCursors tests (#643) 2021-06-22 15:36:39 -07:00
uri_options PYTHON-2676 Unified Test Runner changes in preparation for Load Balancer Support (#623) 2021-05-18 10:23:05 -07:00
versioned-api PYTHON-2684 Send Versioned API options with getMore+txn commands (#618) 2021-05-17 15:31:40 -07:00
__init__.py PYTHON-1272 Fix deadlock when garbage collecting pinned cursors and sessions (#642) 2021-06-23 10:31:29 -07:00
barrier.py PYTHON-2199 Reduce race conditions in SDAM error handling 2020-04-28 16:47:13 -07:00
crud_v2_format.py PYTHON-2547 Change estimated_document_count() to use $collStats instead of count on 4.9+ (#606) 2021-04-28 15:03:38 -07:00
pymongo_mocks.py PYTHON-2677 Better wait queue timeout errors for load balanced clusters (#639) 2021-06-21 19:39:39 -07:00
qcheck.py Update copyright dates 2017-12-01 17:23:39 -08:00
test_auth_spec.py PYTHON-2034 Support MONGODB-AWS authentication mechanism 2020-03-03 09:43:48 -08:00
test_auth.py PYTHON-2268 Close clients in test suite 2020-06-03 17:05:59 -07:00
test_binary.py PYTHON-2152 Expand native UUID handling support; Implement UUID specification 2020-06-01 17:45:08 -07:00
test_bson_corpus.py PYTHON-2361 Support parsing as extended JSON representation for subtype 4 binary (#483) 2020-09-09 17:24:29 -07:00
test_bson.py PYTHON-2631 Add missing error message to InvalidBSON error (#589) 2021-04-19 15:23:54 -07:00
test_bulk.py PYTHON-2453 Add MongoDB Versioned API (#536) 2021-01-11 18:23:01 -08:00
test_change_stream.py PYTHON-2676 Unified Test Runner changes in preparation for Load Balancer Support (#623) 2021-05-18 10:23:05 -07:00
test_client_context.py PYTHON-1966 Test with custom default encoding on Python 2 2019-12-02 12:32:37 -08:00
test_client.py PYTHON-2673 Connection pinning behavior for load balanced clusters (#630) 2021-06-15 14:45:32 -07:00
test_cmap.py PYTHON-2677 Better wait queue timeout errors for load balanced clusters (#639) 2021-06-21 19:39:39 -07:00
test_code.py Update copyright dates 2017-12-01 17:23:39 -08:00
test_collation.py PYTHON-2268 Close clients in test suite 2020-06-03 17:05:59 -07:00
test_collection_management.py PYTHON-2557 Timeseries collection support 2021-06-16 14:36:09 -07:00
test_collection.py PYTHON-2556 Disable dots and dollars validation 2021-06-22 13:22:23 -07:00
test_command_monitoring_legacy.py PYTHON-2718 Test redaction of security sensitive command monitoring events (#637) 2021-06-21 18:14:21 -07:00
test_command_monitoring_unified.py PYTHON-2718 Test redaction of security sensitive command monitoring events (#637) 2021-06-21 18:14:21 -07:00
test_common.py PYTHON-2152 Expand native UUID handling support; Implement UUID specification 2020-06-01 17:45:08 -07:00
test_connections_survive_primary_stepdown_spec.py PYTHON-2572 Introduce NotPrimaryError and deprecate NotMasterError (#646) 2021-06-22 14:45:27 -07:00
test_crud_unified.py PYTHON-2547 Change estimated_document_count() to use $collStats instead of count on 4.9+ (#606) 2021-04-28 15:03:38 -07:00
test_crud_v1.py PYTHON-2547 Change estimated_document_count() to use $collStats instead of count on 4.9+ (#606) 2021-04-28 15:03:38 -07:00
test_cursor_manager.py Update copyright dates 2017-12-01 17:23:39 -08:00
test_cursor.py PYTHON-2734 Document that find_raw_batches now sends user-specified R… (#634) 2021-06-08 14:15:31 -07:00
test_custom_types.py PYTHON-2262 Test Python 3.9 in Evergreen (#485) 2020-09-14 11:45:36 -07:00
test_data_lake.py PYTHON-2474 Fix non-disabled client_knobs bug in Data Lake tests (#537) 2020-12-21 15:55:06 -10:00
test_database.py PYTHON-2662 Deprecate database profiler helpers (#619) 2021-05-10 17:29:27 -07:00
test_dbref.py Update copyright dates 2017-12-01 17:23:39 -08:00
test_decimal128.py Update copyright dates 2017-12-01 17:23:39 -08:00
test_discovery_and_monitoring.py PYTHON-2572 Introduce NotPrimaryError and deprecate NotMasterError (#646) 2021-06-22 14:45:27 -07:00
test_dns.py PYTHON-2671 Support loadBalanced URI option (#614) 2021-05-05 12:51:53 -07:00
test_encryption.py PYTHON-2472 add a metadataClient for CSFLE (#539) 2021-03-01 11:48:26 -08:00
test_errors.py PYTHON-2572 Introduce NotPrimaryError and deprecate NotMasterError (#646) 2021-06-22 14:45:27 -07:00
test_examples.py PYTHON-2710 Version API connection examples for ecosystem docs (#636) 2021-06-08 14:08:53 -07:00
test_grid_file.py PYTHON-1695 GridOut/GridIn more closely implement io.IOBase (#387) 2019-03-28 14:25:06 -07:00
test_gridfs_bucket.py PYTHON-2103 Test that GridFS supports indexes created in the shell 2020-06-24 11:34:27 -07:00
test_gridfs_spec.py PYTHON-2022 Fix potential UnboundLocalError in gridfs test 2019-10-28 14:53:52 -07:00
test_gridfs.py PYTHON-1272 Fix deadlock when garbage collecting pinned cursors and sessions (#642) 2021-06-23 10:31:29 -07:00
test_heartbeat_monitoring.py PYTHON-2634 Only update pools for data-bearing servers (#590) 2021-04-19 15:23:54 -07:00
test_json_util.py PYTHON-2354 Add support for JSONOptions.with_options (#482) 2020-09-09 14:15:21 -07:00
test_legacy_api.py PYTHON-2556 Disable dots and dollars validation 2021-06-22 13:22:23 -07:00
test_load_balancer.py PYTHON-1272 Fix deadlock when garbage collecting pinned cursors and sessions (#642) 2021-06-23 10:31:29 -07:00
test_max_staleness.py PYTHON-2218 Fix race in test_last_write_date 2020-04-29 11:43:07 -07:00
test_mongos_load_balancing.py PYTHON-2268 Close clients in test suite 2020-06-03 17:05:59 -07:00
test_monitor.py PYTHON-2123 Streaming heartbeat protocol 2020-07-01 14:49:46 -07:00
test_monitoring.py PYTHON-2572 Introduce NotPrimaryError and deprecate NotMasterError (#646) 2021-06-22 14:45:27 -07:00
test_monotonic.py PYTHON-1482 Fix monotonic time import for Python 2 2018-02-21 17:01:03 -08:00
test_objectid.py PYTHON-2102 Migrate testing to Windows 10 2020-03-16 16:35:37 -07:00
test_ocsp_cache.py PYTHON-2132 cache OCSP responses 2020-03-13 11:11:38 -07:00
test_pooling.py PYTHON-2677 Better wait queue timeout errors for load balanced clusters (#639) 2021-06-21 19:39:39 -07:00
test_pymongo.py Fix up copyright dates. 2015-03-25 11:55:02 -07:00
test_raw_bson.py PYTHON-1918 Stop using BSON.encode and BSON.decode functions 2019-09-09 18:06:46 -07:00
test_read_concern.py PYTHON-2268 Close clients in test suite 2020-06-03 17:05:59 -07:00
test_read_preferences.py PYTHON-2677 Better wait queue timeout errors for load balanced clusters (#639) 2021-06-21 19:39:39 -07:00
test_read_write_concern_spec.py PYTHON-2553 Test document validation error details 2021-06-17 09:26:10 -07:00
test_replica_set_client.py PYTHON-2136: added more diagnostic information for ServerSelectionTimeoutError (#444) 2020-06-25 17:04:04 -04:00
test_replica_set_reconfig.py PYTHON-2109 Avoid 30 second stalls in TestSocketError 2020-05-13 17:36:52 -07:00
test_retryable_reads.py PYTHON-1272 Fix deadlock when garbage collecting pinned cursors and sessions (#642) 2021-06-23 10:31:29 -07:00
test_retryable_writes.py PYTHON-2452 Ensure command-responses with RetryableWriteError label are retried on MongoDB 4.4+ (#530) 2020-12-14 19:08:53 -08:00
test_saslprep.py PYTHON-1457 - Implement SASLprep 2018-03-06 17:54:40 -08:00
test_sdam_monitoring_spec.py PYTHON-2572 Introduce NotPrimaryError and deprecate NotMasterError (#646) 2021-06-22 14:45:27 -07:00
test_server_description.py PYTHON-2199 Reduce race conditions in SDAM error handling 2020-04-28 16:47:13 -07:00
test_server_selection_rtt.py Fix up copyright dates. 2015-03-25 11:55:02 -07:00
test_server_selection.py PYTHON-1902 DNS resolution should honor connectTimeoutMS 2019-08-09 17:04:02 -07:00
test_server.py Fix up copyright dates. 2015-03-25 11:55:02 -07:00
test_session.py Revert "PYTHON-1915: Prohibit copying ClientSession objects (#480)" 2020-11-16 15:09:31 -08:00
test_son_manipulator.py Update copyright dates 2017-12-01 17:23:39 -08:00
test_son.py Update copyright dates 2017-12-01 17:23:39 -08:00
test_srv_polling.py PYTHON-2002 Re-enable dns/srv tests 2019-11-18 17:41:42 -08:00
test_ssl.py PYTHON-2396 Deprecate ssl_keyfile and ssl_certfile URI options (#616) 2021-05-05 15:59:18 -07:00
test_streaming_protocol.py PYTHON-2629 Use hello command when API Version is declared (#610) 2021-05-10 14:43:04 -07:00
test_threads.py PYTHON-1725 Fix TestThreadsAuth.test_auto_auth_login 2019-03-12 16:26:50 -07:00
test_timestamp.py PYTHON-977 - Fix __hash__ method on BSON types that inherit from Python builtin types. 2015-09-04 14:45:24 -07:00
test_topology.py PYTHON-2740 Bump maxWireVersion for MongoDB 5.0 2021-06-16 16:10:12 -07:00
test_transactions_unified.py PYTHON-2676 Unified Test Runner changes in preparation for Load Balancer Support (#623) 2021-05-18 10:23:05 -07:00
test_transactions.py PYTHON-2676 Unified Test Runner changes in preparation for Load Balancer Support (#623) 2021-05-18 10:23:05 -07:00
test_unified_format.py PYTHON-2033 Unified Test Format (#519) 2020-12-21 19:26:11 -08:00
test_uri_parser.py PYTHON-2161 add support for tlsDisableOcspEndpointCheck URI option 2020-03-11 18:35:11 -07:00
test_uri_spec.py PYTHON-2161 add support for tlsDisableOcspEndpointCheck URI option 2020-03-11 18:35:11 -07:00
test_versioned_api.py PYTHON-2684 Send Versioned API options with getMore+txn commands (#618) 2021-05-17 15:31:40 -07:00
test_write_concern.py Fix equality comparison of WriteConcern objects. (#378) 2018-10-09 15:05:47 -07:00
unified_format.py PYTHON-2764 Fix unified test coerce_result on unack writes (#652) 2021-06-22 17:25:30 -07:00
utils_selection_tests.py PYTHON-2676 Unified Test Runner changes in preparation for Load Balancer Support (#623) 2021-05-18 10:23:05 -07:00
utils_spec_runner.py PYTHON-2676 Add load balancer tests in EVG (#625) 2021-05-27 17:41:33 -07:00
utils.py PYTHON-2677 Better wait queue timeout errors for load balanced clusters (#639) 2021-06-21 19:39:39 -07:00
version.py PYTHON-1021 - Support git describe based server versions 2015-12-15 13:33:23 -08:00