Uploaded image for project: 'Python Driver'
  1. Python Driver
  2. PYTHON-1449

Regular Failure to Connect

    • Type: Icon: Bug Bug
    • Resolution: Works as Designed
    • Priority: Icon: Major - P3 Major - P3
    • None
    • Affects Version/s: 3.6
    • Component/s: Auth, Connection Mgmt
    • None
    • Environment:
      M10 MongoDB Atlas server, Python 3.6.3 on ubuntu 17.10, with pymongo 3.6.0
    • None
    • None
    • None
    • None
    • None
    • None
    • None

      I'm evaluating MongoDB in general and the Atlas service in general, and am having some serious issues with reliability.

      When connecting, I periodically (but inconsistently) get an error.

      This is the usual error I get when connection fails:

      (venv) ixokai@ixobuntu:~/Projects/eyrie$ python -m eyrie.run
      Starting...
      Traceback (most recent call last):
        File "/home/ixokai/Projects/eyrie/venv/lib/python3.6/site-packages/pymongo/pool.py", line 925, in _get_socket_no_auth
          sock_info = self.sockets.pop()
      KeyError: 'pop from an empty set'
      
      During handling of the above exception, another exception occurred:
      
      Traceback (most recent call last):
        File "/usr/lib/python3.6/runpy.py", line 193, in _run_module_as_main
          "__main__", mod_spec)
        File "/usr/lib/python3.6/runpy.py", line 85, in _run_code
          exec(code, run_globals)
        File "/home/ixokai/Projects/eyrie/eyrie/run.py", line 11, in <module>
          print(us.find_one({"short_name": "shansen"}))
        File "/home/ixokai/Projects/eyrie/venv/lib/python3.6/site-packages/pymongo/collection.py", line 1224, in find_one
          for result in cursor.limit(-1):
        File "/home/ixokai/Projects/eyrie/venv/lib/python3.6/site-packages/pymongo/cursor.py", line 1176, in next
          if len(self.__data) or self._refresh():
        File "/home/ixokai/Projects/eyrie/venv/lib/python3.6/site-packages/pymongo/cursor.py", line 1087, in _refresh
          self.__send_message(q)
        File "/home/ixokai/Projects/eyrie/venv/lib/python3.6/site-packages/pymongo/cursor.py", line 924, in __send_message
          **kwargs)
        File "/home/ixokai/Projects/eyrie/venv/lib/python3.6/site-packages/pymongo/mongo_client.py", line 1026, in _send_message_with_response
          exhaust)
        File "/home/ixokai/Projects/eyrie/venv/lib/python3.6/site-packages/pymongo/mongo_client.py", line 1037, in _reset_on_error
          return func(*args, **kwargs)
        File "/home/ixokai/Projects/eyrie/venv/lib/python3.6/site-packages/pymongo/server.py", line 85, in send_message_with_response
          with self.get_socket(all_credentials, exhaust) as sock_info:
        File "/usr/lib/python3.6/contextlib.py", line 81, in __enter__
          return next(self.gen)
        File "/home/ixokai/Projects/eyrie/venv/lib/python3.6/site-packages/pymongo/server.py", line 138, in get_socket
          with self.pool.get_socket(all_credentials, checkout) as sock_info:
        File "/usr/lib/python3.6/contextlib.py", line 81, in __enter__
          return next(self.gen)
        File "/home/ixokai/Projects/eyrie/venv/lib/python3.6/site-packages/pymongo/pool.py", line 891, in get_socket
          sock_info = self._get_socket_no_auth()
        File "/home/ixokai/Projects/eyrie/venv/lib/python3.6/site-packages/pymongo/pool.py", line 928, in _get_socket_no_auth
          sock_info = self.connect()
        File "/home/ixokai/Projects/eyrie/venv/lib/python3.6/site-packages/pymongo/pool.py", line 857, in connect
          None))
        File "/home/ixokai/Projects/eyrie/venv/lib/python3.6/site-packages/pymongo/network.py", line 116, in command
          reply = receive_message(sock, request_id)
        File "/home/ixokai/Projects/eyrie/venv/lib/python3.6/site-packages/pymongo/network.py", line 147, in receive_message
          _receive_data_on_socket(sock, 16))
        File "/home/ixokai/Projects/eyrie/venv/lib/python3.6/site-packages/pymongo/network.py", line 176, in _receive_data_on_socket
          raise AutoReconnect("connection closed")
      pymongo.errors.AutoReconnect: connection closed
      

      A few times, though, I've gotten this:

      (venv) ixokai@ixobuntu:~/Projects/eyrie$ python -m eyrie.run
      Starting...
      Traceback (most recent call last):
        File "/home/ixokai/Projects/eyrie/venv/lib/python3.6/site-packages/pymongo/pool.py", line 925, in _get_socket_no_auth
          sock_info = self.sockets.pop()
      KeyError: 'pop from an empty set'
      
      During handling of the above exception, another exception occurred:
      
      Traceback (most recent call last):
        File "/home/ixokai/Projects/eyrie/venv/lib/python3.6/site-packages/pymongo/pool.py", line 842, in connect
          sock = _configured_socket(self.address, self.opts)
        File "/home/ixokai/Projects/eyrie/venv/lib/python3.6/site-packages/pymongo/pool.py", line 744, in _configured_socket
          sock = _create_connection(address, options)
        File "/home/ixokai/Projects/eyrie/venv/lib/python3.6/site-packages/pymongo/pool.py", line 728, in _create_connection
          raise err
        File "/home/ixokai/Projects/eyrie/venv/lib/python3.6/site-packages/pymongo/pool.py", line 721, in _create_connection
          sock.connect(sa)
      socket.timeout: timed out
      
      During handling of the above exception, another exception occurred:
      
      Traceback (most recent call last):
        File "/usr/lib/python3.6/runpy.py", line 193, in _run_module_as_main
          "__main__", mod_spec)
        File "/usr/lib/python3.6/runpy.py", line 85, in _run_code
          exec(code, run_globals)
        File "/home/ixokai/Projects/eyrie/eyrie/run.py", line 9, in <module>
          print(us.find_one({"short_name": "shansen"}))
        File "/home/ixokai/Projects/eyrie/venv/lib/python3.6/site-packages/pymongo/collection.py", line 1224, in find_one
          for result in cursor.limit(-1):
        File "/home/ixokai/Projects/eyrie/venv/lib/python3.6/site-packages/pymongo/cursor.py", line 1176, in next
          if len(self.__data) or self._refresh():
        File "/home/ixokai/Projects/eyrie/venv/lib/python3.6/site-packages/pymongo/cursor.py", line 1087, in _refresh
          self.__send_message(q)
        File "/home/ixokai/Projects/eyrie/venv/lib/python3.6/site-packages/pymongo/cursor.py", line 924, in __send_message
          **kwargs)
        File "/home/ixokai/Projects/eyrie/venv/lib/python3.6/site-packages/pymongo/mongo_client.py", line 1026, in _send_message_with_response
          exhaust)
        File "/home/ixokai/Projects/eyrie/venv/lib/python3.6/site-packages/pymongo/mongo_client.py", line 1037, in _reset_on_error
          return func(*args, **kwargs)
        File "/home/ixokai/Projects/eyrie/venv/lib/python3.6/site-packages/pymongo/server.py", line 85, in send_message_with_response
          with self.get_socket(all_credentials, exhaust) as sock_info:
        File "/usr/lib/python3.6/contextlib.py", line 81, in __enter__
          return next(self.gen)
        File "/home/ixokai/Projects/eyrie/venv/lib/python3.6/site-packages/pymongo/server.py", line 138, in get_socket
          with self.pool.get_socket(all_credentials, checkout) as sock_info:
        File "/usr/lib/python3.6/contextlib.py", line 81, in __enter__
          return next(self.gen)
        File "/home/ixokai/Projects/eyrie/venv/lib/python3.6/site-packages/pymongo/pool.py", line 891, in get_socket
          sock_info = self._get_socket_no_auth()
        File "/home/ixokai/Projects/eyrie/venv/lib/python3.6/site-packages/pymongo/pool.py", line 928, in _get_socket_no_auth
          sock_info = self.connect()
        File "/home/ixokai/Projects/eyrie/venv/lib/python3.6/site-packages/pymongo/pool.py", line 864, in connect
          _raise_connection_failure(self.address, error)
        File "/home/ixokai/Projects/eyrie/venv/lib/python3.6/site-packages/pymongo/pool.py", line 259, in _raise_connection_failure
          raise NetworkTimeout(msg)
      pymongo.errors.NetworkTimeout: eyrie-apt-demo-dev-shard-00-00-ebuln.mongodb.net:27017: timed out
      

            Assignee:
            bernie@mongodb.com Bernie Hackett
            Reporter:
            ixokai Stephen Hansen
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

              Created:
              Updated:
              Resolved:
              None
              None
              None
              None