-
Type: Bug
-
Resolution: Done
-
Priority: Minor - P4
-
Affects Version/s: None
-
Component/s: None
-
None
I found this while working on the SSL tests. I had my replica set configured with the local machine's hostname instead of the 'server' alias required for hostname matching:
====================================================================== ERROR: test_cert_ssl_validation_optional (test.test_ssl.TestSSL) ---------------------------------------------------------------------- Traceback (most recent call last): File "test/test_ssl.py", line 318, in test_cert_ssl_validation_optional db.test.drop() File "pymongo/collection.py", line 493, in drop self.__database.drop_collection(self.__name) File "pymongo/database.py", line 422, in drop_collection self.command("drop", unicode(name), allowable_errors=["ns not found"]) File "pymongo/database.py", line 386, in command result = self["$cmd"].find_one(command, **extra_opts) File "pymongo/collection.py", line 598, in find_one for result in self.find(spec_or_id, *args, **kwargs).limit(-1): File "pymongo/cursor.py", line 814, in next if len(self.__data) or self._refresh(): File "pymongo/cursor.py", line 763, in _refresh self.__uuid_subtype)) File "pymongo/cursor.py", line 700, in __send_message **kwargs) File "pymongo/mongo_replica_set_client.py", line 1312, in _send_message_with_response raise AutoReconnect(msg, errors) AutoReconnect: No replica set primary available for query with ReadPreference PRIMARY
That's really misleading. The fact that cert validation failed should bubble up to the user. Might be able to fix it by not catching CertificateError in pool.py.