here is my code
client = MongoClient(
host='mongodb://user:pass@host:27014,host:27015,host:27016/?'
'authMechanism=DEFAULT&authSource=base&replicaSet=rs1')
print(client.is_primary)
database = client.get_database('base')
collections = database.get_collection('test')
result = collections.insert_one({ "x": 3})
the above code execute success by chance , it fails occasionally with NoPrimaryError
True
File "C:\Users\w1762\PycharmProjects\geo_relation\venv\lib\site-packages\pymongo\collection.py", line 606, in insert_one
self._insert_one(
File "C:\Users\w1762\PycharmProjects\geo_relation\venv\lib\site-packages\pymongo\collection.py", line 547, in _insert_one
self.__database.client._retryable_write(acknowledged, _insert_command, session)
File "C:\Users\w1762\PycharmProjects\geo_relation\venv\lib\site-packages\pymongo\mongo_client.py", line 1399, in _retryable_write
return self._retry_with_session(retryable, func, s, None)
File "C:\Users\w1762\PycharmProjects\geo_relation\venv\lib\site-packages\pymongo\mongo_client.py", line 1286, in _retry_with_session
return self._retry_internal(retryable, func, session, bulk)
File "C:\Users\w1762\PycharmProjects\geo_relation\venv\lib\site-packages\pymongo\mongo_client.py", line 1320, in _retry_internal
return func(session, sock_info, retryable)
File "C:\Users\w1762\PycharmProjects\geo_relation\venv\lib\site-packages\pymongo\collection.py", line 535, in _insert_command
result = sock_info.command(
File "C:\Users\w1762\PycharmProjects\geo_relation\venv\lib\site-packages\pymongo\pool.py", line 743, in command
return command(
File "C:\Users\w1762\PycharmProjects\geo_relation\venv\lib\site-packages\pymongo\network.py", line 160, in command
helpers._check_command_response(
File "C:\Users\w1762\PycharmProjects\geo_relation\venv\lib\site-packages\pymongo\helpers.py", line 167, in _check_command_response
raise NotPrimaryError(errmsg, response)
pymongo.errors.NotPrimaryError: not master, full error: {'ok': 0.0, 'errmsg': 'not master', 'code': 10107, 'codeName': 'NotMaster'}
Did anyone have met this before?