Skip to content

Commit 4897c51

Browse files
committed
PYTHON-903 - Discover primary despite auth errs on recovering members.
1 parent a73d3cb commit 4897c51

File tree

1 file changed

+7
-5
lines changed

1 file changed

+7
-5
lines changed

pymongo/mongo_replica_set_client.py

Lines changed: 7 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -356,9 +356,7 @@ def monitor(self):
356356
self.rsc.refresh()
357357
finally:
358358
self.refreshed.set()
359-
except (AutoReconnect, OperationFailure), exc:
360-
# Set is unreachable, or we experienced a transient auth
361-
# failure while a secondary is replicating credentials.
359+
except (AutoReconnect, OperationFailure):
362360
pass
363361

364362
# RSC has been collected or there
@@ -1183,7 +1181,9 @@ def __create_rs_state(self, rs_state, initial):
11831181
if response['ismaster']:
11841182
writer = node
11851183

1186-
except (ConnectionFailure, socket.error), why:
1184+
except (ConnectionFailure, socket.error, OperationFailure), why:
1185+
# Member unreachable, or transient auth failure while member
1186+
# is resyncing credentials.
11871187
if member:
11881188
member.discard_socket(sock_info)
11891189
errors.append("%s:%d: %s" % (node[0], node[1], str(why)))
@@ -1226,7 +1226,9 @@ def __create_rs_state(self, rs_state, initial):
12261226

12271227
members[host] = new_member
12281228

1229-
except (ConnectionFailure, socket.error):
1229+
except (ConnectionFailure, socket.error, OperationFailure):
1230+
# Member unreachable, or transient auth failure while member
1231+
# is resyncing credentials.
12301232
if member:
12311233
member.discard_socket(sock_info)
12321234
continue

0 commit comments

Comments
 (0)