We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
1 parent 1fa894d commit 0aefc6cCopy full SHA for 0aefc6c
pymongo/monitor.py
@@ -173,6 +173,12 @@ def _check_with_socket(self, sock_info):
173
Can raise ConnectionFailure or OperationFailure.
174
"""
175
start = _time()
176
- return (sock_info.ismaster(self._pool.opts.metadata,
177
- self._topology.max_cluster_time()),
178
- _time() - start)
+ try:
+ return (sock_info.ismaster(self._pool.opts.metadata,
+ self._topology.max_cluster_time()),
179
+ _time() - start)
180
+ except OperationFailure as exc:
181
+ # Update max cluster time even when isMaster fails.
182
+ self._topology.receive_cluster_time(
183
+ exc.details.get('$clusterTime'))
184
+ raise
0 commit comments