|
28 | 28 | },
|
29 | 29 | {
|
30 | 30 | "cell_type": "code",
|
31 |
| - "execution_count": null, |
32 |
| - "metadata": {}, |
33 |
| - "outputs": [], |
| 31 | + "execution_count": 2, |
| 32 | + "metadata": {}, |
| 33 | + "outputs": [ |
| 34 | + { |
| 35 | + "ename": "ServerSelectionTimeoutError", |
| 36 | + "evalue": "localhost:27017: [Errno 61] Connection refused (configured timeouts: socketTimeoutMS: 20000.0ms, connectTimeoutMS: 20000.0ms), Timeout: 30s, Topology Description: <TopologyDescription id: 684afbede5776620b1cb0429, topology_type: Unknown, servers: [<ServerDescription ('localhost', 27017) server_type: Unknown, rtt: None, error=AutoReconnect('localhost:27017: [Errno 61] Connection refused (configured timeouts: socketTimeoutMS: 20000.0ms, connectTimeoutMS: 20000.0ms)')>]>", |
| 37 | + "output_type": "error", |
| 38 | + "traceback": [ |
| 39 | + "\u001b[31m---------------------------------------------------------------------------\u001b[39m", |
| 40 | + "\u001b[31mServerSelectionTimeoutError\u001b[39m Traceback (most recent call last)", |
| 41 | + "\u001b[36mCell\u001b[39m\u001b[36m \u001b[39m\u001b[32mIn[2]\u001b[39m\u001b[32m, line 6\u001b[39m\n\u001b[32m 4\u001b[39m mongodb_client = MongoClient(MONGODB_URI)\n\u001b[32m 5\u001b[39m \u001b[38;5;66;03m# Check the connection to the server\u001b[39;00m\n\u001b[32m----> \u001b[39m\u001b[32m6\u001b[39m \u001b[43mmongodb_client\u001b[49m\u001b[43m.\u001b[49m\u001b[43madmin\u001b[49m\u001b[43m.\u001b[49m\u001b[43mcommand\u001b[49m\u001b[43m(\u001b[49m\u001b[33;43m\"\u001b[39;49m\u001b[33;43mping\u001b[39;49m\u001b[33;43m\"\u001b[39;49m\u001b[43m)\u001b[49m\n", |
| 42 | + "\u001b[36mFile \u001b[39m\u001b[32m~/Projects/genai-devday-notebooks-amsterdam/venv/lib/python3.11/site-packages/pymongo/_csot.py:119\u001b[39m, in \u001b[36mapply.<locals>.csot_wrapper\u001b[39m\u001b[34m(self, *args, **kwargs)\u001b[39m\n\u001b[32m 117\u001b[39m \u001b[38;5;28;01mwith\u001b[39;00m _TimeoutContext(timeout):\n\u001b[32m 118\u001b[39m \u001b[38;5;28;01mreturn\u001b[39;00m func(\u001b[38;5;28mself\u001b[39m, *args, **kwargs)\n\u001b[32m--> \u001b[39m\u001b[32m119\u001b[39m \u001b[38;5;28;01mreturn\u001b[39;00m \u001b[43mfunc\u001b[49m\u001b[43m(\u001b[49m\u001b[38;5;28;43mself\u001b[39;49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43m*\u001b[49m\u001b[43margs\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43m*\u001b[49m\u001b[43m*\u001b[49m\u001b[43mkwargs\u001b[49m\u001b[43m)\u001b[49m\n", |
| 43 | + "\u001b[36mFile \u001b[39m\u001b[32m~/Projects/genai-devday-notebooks-amsterdam/venv/lib/python3.11/site-packages/pymongo/synchronous/database.py:926\u001b[39m, in \u001b[36mDatabase.command\u001b[39m\u001b[34m(self, command, value, check, allowable_errors, read_preference, codec_options, session, comment, **kwargs)\u001b[39m\n\u001b[32m 924\u001b[39m \u001b[38;5;28;01mif\u001b[39;00m read_preference \u001b[38;5;129;01mis\u001b[39;00m \u001b[38;5;28;01mNone\u001b[39;00m:\n\u001b[32m 925\u001b[39m read_preference = (session \u001b[38;5;129;01mand\u001b[39;00m session._txn_read_preference()) \u001b[38;5;129;01mor\u001b[39;00m ReadPreference.PRIMARY\n\u001b[32m--> \u001b[39m\u001b[32m926\u001b[39m \u001b[38;5;28;01mwith\u001b[39;00m \u001b[38;5;28;43mself\u001b[39;49m\u001b[43m.\u001b[49m\u001b[43m_client\u001b[49m\u001b[43m.\u001b[49m\u001b[43m_conn_for_reads\u001b[49m\u001b[43m(\u001b[49m\u001b[43mread_preference\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43msession\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43moperation\u001b[49m\u001b[43m=\u001b[49m\u001b[43mcommand_name\u001b[49m\u001b[43m)\u001b[49m \u001b[38;5;28;01mas\u001b[39;00m (\n\u001b[32m 927\u001b[39m connection,\n\u001b[32m 928\u001b[39m read_preference,\n\u001b[32m 929\u001b[39m ):\n\u001b[32m 930\u001b[39m \u001b[38;5;28;01mreturn\u001b[39;00m \u001b[38;5;28mself\u001b[39m._command(\n\u001b[32m 931\u001b[39m connection,\n\u001b[32m 932\u001b[39m command,\n\u001b[32m (...)\u001b[39m\u001b[32m 939\u001b[39m **kwargs,\n\u001b[32m 940\u001b[39m )\n", |
| 44 | + "\u001b[36mFile \u001b[39m\u001b[32m~/Projects/genai-devday-notebooks-amsterdam/venv/lib/python3.11/site-packages/pymongo/synchronous/mongo_client.py:1699\u001b[39m, in \u001b[36mMongoClient._conn_for_reads\u001b[39m\u001b[34m(self, read_preference, session, operation)\u001b[39m\n\u001b[32m 1692\u001b[39m \u001b[38;5;28;01mdef\u001b[39;00m\u001b[38;5;250m \u001b[39m\u001b[34m_conn_for_reads\u001b[39m(\n\u001b[32m 1693\u001b[39m \u001b[38;5;28mself\u001b[39m,\n\u001b[32m 1694\u001b[39m read_preference: _ServerMode,\n\u001b[32m 1695\u001b[39m session: Optional[ClientSession],\n\u001b[32m 1696\u001b[39m operation: \u001b[38;5;28mstr\u001b[39m,\n\u001b[32m 1697\u001b[39m ) -> ContextManager[\u001b[38;5;28mtuple\u001b[39m[Connection, _ServerMode]]:\n\u001b[32m 1698\u001b[39m \u001b[38;5;28;01massert\u001b[39;00m read_preference \u001b[38;5;129;01mis\u001b[39;00m \u001b[38;5;129;01mnot\u001b[39;00m \u001b[38;5;28;01mNone\u001b[39;00m, \u001b[33m\"\u001b[39m\u001b[33mread_preference must not be None\u001b[39m\u001b[33m\"\u001b[39m\n\u001b[32m-> \u001b[39m\u001b[32m1699\u001b[39m server = \u001b[38;5;28;43mself\u001b[39;49m\u001b[43m.\u001b[49m\u001b[43m_select_server\u001b[49m\u001b[43m(\u001b[49m\u001b[43mread_preference\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43msession\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43moperation\u001b[49m\u001b[43m)\u001b[49m\n\u001b[32m 1700\u001b[39m \u001b[38;5;28;01mreturn\u001b[39;00m \u001b[38;5;28mself\u001b[39m._conn_from_server(read_preference, server, session)\n", |
| 45 | + "\u001b[36mFile \u001b[39m\u001b[32m~/Projects/genai-devday-notebooks-amsterdam/venv/lib/python3.11/site-packages/pymongo/synchronous/mongo_client.py:1647\u001b[39m, in \u001b[36mMongoClient._select_server\u001b[39m\u001b[34m(self, server_selector, session, operation, address, deprioritized_servers, operation_id)\u001b[39m\n\u001b[32m 1645\u001b[39m \u001b[38;5;28;01mraise\u001b[39;00m AutoReconnect(\u001b[33m\"\u001b[39m\u001b[33mserver \u001b[39m\u001b[38;5;132;01m%s\u001b[39;00m\u001b[33m:\u001b[39m\u001b[38;5;132;01m%s\u001b[39;00m\u001b[33m no longer available\u001b[39m\u001b[33m\"\u001b[39m % address) \u001b[38;5;66;03m# noqa: UP031\u001b[39;00m\n\u001b[32m 1646\u001b[39m \u001b[38;5;28;01melse\u001b[39;00m:\n\u001b[32m-> \u001b[39m\u001b[32m1647\u001b[39m server = \u001b[43mtopology\u001b[49m\u001b[43m.\u001b[49m\u001b[43mselect_server\u001b[49m\u001b[43m(\u001b[49m\n\u001b[32m 1648\u001b[39m \u001b[43m \u001b[49m\u001b[43mserver_selector\u001b[49m\u001b[43m,\u001b[49m\n\u001b[32m 1649\u001b[39m \u001b[43m \u001b[49m\u001b[43moperation\u001b[49m\u001b[43m,\u001b[49m\n\u001b[32m 1650\u001b[39m \u001b[43m \u001b[49m\u001b[43mdeprioritized_servers\u001b[49m\u001b[43m=\u001b[49m\u001b[43mdeprioritized_servers\u001b[49m\u001b[43m,\u001b[49m\n\u001b[32m 1651\u001b[39m \u001b[43m \u001b[49m\u001b[43moperation_id\u001b[49m\u001b[43m=\u001b[49m\u001b[43moperation_id\u001b[49m\u001b[43m,\u001b[49m\n\u001b[32m 1652\u001b[39m \u001b[43m \u001b[49m\u001b[43m)\u001b[49m\n\u001b[32m 1653\u001b[39m \u001b[38;5;28;01mreturn\u001b[39;00m server\n\u001b[32m 1654\u001b[39m \u001b[38;5;28;01mexcept\u001b[39;00m PyMongoError \u001b[38;5;28;01mas\u001b[39;00m exc:\n\u001b[32m 1655\u001b[39m \u001b[38;5;66;03m# Server selection errors in a transaction are transient.\u001b[39;00m\n", |
| 46 | + "\u001b[36mFile \u001b[39m\u001b[32m~/Projects/genai-devday-notebooks-amsterdam/venv/lib/python3.11/site-packages/pymongo/synchronous/topology.py:401\u001b[39m, in \u001b[36mTopology.select_server\u001b[39m\u001b[34m(self, selector, operation, server_selection_timeout, address, deprioritized_servers, operation_id)\u001b[39m\n\u001b[32m 391\u001b[39m \u001b[38;5;28;01mdef\u001b[39;00m\u001b[38;5;250m \u001b[39m\u001b[34mselect_server\u001b[39m(\n\u001b[32m 392\u001b[39m \u001b[38;5;28mself\u001b[39m,\n\u001b[32m 393\u001b[39m selector: Callable[[Selection], Selection],\n\u001b[32m (...)\u001b[39m\u001b[32m 398\u001b[39m operation_id: Optional[\u001b[38;5;28mint\u001b[39m] = \u001b[38;5;28;01mNone\u001b[39;00m,\n\u001b[32m 399\u001b[39m ) -> Server:\n\u001b[32m 400\u001b[39m \u001b[38;5;250m \u001b[39m\u001b[33;03m\"\"\"Like select_servers, but choose a random server if several match.\"\"\"\u001b[39;00m\n\u001b[32m--> \u001b[39m\u001b[32m401\u001b[39m server = \u001b[38;5;28;43mself\u001b[39;49m\u001b[43m.\u001b[49m\u001b[43m_select_server\u001b[49m\u001b[43m(\u001b[49m\n\u001b[32m 402\u001b[39m \u001b[43m \u001b[49m\u001b[43mselector\u001b[49m\u001b[43m,\u001b[49m\n\u001b[32m 403\u001b[39m \u001b[43m \u001b[49m\u001b[43moperation\u001b[49m\u001b[43m,\u001b[49m\n\u001b[32m 404\u001b[39m \u001b[43m \u001b[49m\u001b[43mserver_selection_timeout\u001b[49m\u001b[43m,\u001b[49m\n\u001b[32m 405\u001b[39m \u001b[43m \u001b[49m\u001b[43maddress\u001b[49m\u001b[43m,\u001b[49m\n\u001b[32m 406\u001b[39m \u001b[43m \u001b[49m\u001b[43mdeprioritized_servers\u001b[49m\u001b[43m,\u001b[49m\n\u001b[32m 407\u001b[39m \u001b[43m \u001b[49m\u001b[43moperation_id\u001b[49m\u001b[43m=\u001b[49m\u001b[43moperation_id\u001b[49m\u001b[43m,\u001b[49m\n\u001b[32m 408\u001b[39m \u001b[43m \u001b[49m\u001b[43m)\u001b[49m\n\u001b[32m 409\u001b[39m \u001b[38;5;28;01mif\u001b[39;00m _csot.get_timeout():\n\u001b[32m 410\u001b[39m _csot.set_rtt(server.description.min_round_trip_time)\n", |
| 47 | + "\u001b[36mFile \u001b[39m\u001b[32m~/Projects/genai-devday-notebooks-amsterdam/venv/lib/python3.11/site-packages/pymongo/synchronous/topology.py:379\u001b[39m, in \u001b[36mTopology._select_server\u001b[39m\u001b[34m(self, selector, operation, server_selection_timeout, address, deprioritized_servers, operation_id)\u001b[39m\n\u001b[32m 370\u001b[39m \u001b[38;5;28;01mdef\u001b[39;00m\u001b[38;5;250m \u001b[39m\u001b[34m_select_server\u001b[39m(\n\u001b[32m 371\u001b[39m \u001b[38;5;28mself\u001b[39m,\n\u001b[32m 372\u001b[39m selector: Callable[[Selection], Selection],\n\u001b[32m (...)\u001b[39m\u001b[32m 377\u001b[39m operation_id: Optional[\u001b[38;5;28mint\u001b[39m] = \u001b[38;5;28;01mNone\u001b[39;00m,\n\u001b[32m 378\u001b[39m ) -> Server:\n\u001b[32m--> \u001b[39m\u001b[32m379\u001b[39m servers = \u001b[38;5;28;43mself\u001b[39;49m\u001b[43m.\u001b[49m\u001b[43mselect_servers\u001b[49m\u001b[43m(\u001b[49m\n\u001b[32m 380\u001b[39m \u001b[43m \u001b[49m\u001b[43mselector\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43moperation\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mserver_selection_timeout\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43maddress\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43moperation_id\u001b[49m\n\u001b[32m 381\u001b[39m \u001b[43m \u001b[49m\u001b[43m)\u001b[49m\n\u001b[32m 382\u001b[39m servers = _filter_servers(servers, deprioritized_servers)\n\u001b[32m 383\u001b[39m \u001b[38;5;28;01mif\u001b[39;00m \u001b[38;5;28mlen\u001b[39m(servers) == \u001b[32m1\u001b[39m:\n", |
| 48 | + "\u001b[36mFile \u001b[39m\u001b[32m~/Projects/genai-devday-notebooks-amsterdam/venv/lib/python3.11/site-packages/pymongo/synchronous/topology.py:286\u001b[39m, in \u001b[36mTopology.select_servers\u001b[39m\u001b[34m(self, selector, operation, server_selection_timeout, address, operation_id)\u001b[39m\n\u001b[32m 283\u001b[39m server_timeout = server_selection_timeout\n\u001b[32m 285\u001b[39m \u001b[38;5;28;01mwith\u001b[39;00m \u001b[38;5;28mself\u001b[39m._lock:\n\u001b[32m--> \u001b[39m\u001b[32m286\u001b[39m server_descriptions = \u001b[38;5;28;43mself\u001b[39;49m\u001b[43m.\u001b[49m\u001b[43m_select_servers_loop\u001b[49m\u001b[43m(\u001b[49m\n\u001b[32m 287\u001b[39m \u001b[43m \u001b[49m\u001b[43mselector\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mserver_timeout\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43moperation\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43moperation_id\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43maddress\u001b[49m\n\u001b[32m 288\u001b[39m \u001b[43m \u001b[49m\u001b[43m)\u001b[49m\n\u001b[32m 290\u001b[39m \u001b[38;5;28;01mreturn\u001b[39;00m [\n\u001b[32m 291\u001b[39m cast(Server, \u001b[38;5;28mself\u001b[39m.get_server_by_address(sd.address)) \u001b[38;5;28;01mfor\u001b[39;00m sd \u001b[38;5;129;01min\u001b[39;00m server_descriptions\n\u001b[32m 292\u001b[39m ]\n", |
| 49 | + "\u001b[36mFile \u001b[39m\u001b[32m~/Projects/genai-devday-notebooks-amsterdam/venv/lib/python3.11/site-packages/pymongo/synchronous/topology.py:336\u001b[39m, in \u001b[36mTopology._select_servers_loop\u001b[39m\u001b[34m(self, selector, timeout, operation, operation_id, address)\u001b[39m\n\u001b[32m 325\u001b[39m \u001b[38;5;28;01mif\u001b[39;00m _SERVER_SELECTION_LOGGER.isEnabledFor(logging.DEBUG):\n\u001b[32m 326\u001b[39m _debug_log(\n\u001b[32m 327\u001b[39m _SERVER_SELECTION_LOGGER,\n\u001b[32m 328\u001b[39m message=_ServerSelectionStatusMessage.FAILED,\n\u001b[32m (...)\u001b[39m\u001b[32m 334\u001b[39m failure=\u001b[38;5;28mself\u001b[39m._error_message(selector),\n\u001b[32m 335\u001b[39m )\n\u001b[32m--> \u001b[39m\u001b[32m336\u001b[39m \u001b[38;5;28;01mraise\u001b[39;00m ServerSelectionTimeoutError(\n\u001b[32m 337\u001b[39m \u001b[33mf\u001b[39m\u001b[33m\"\u001b[39m\u001b[38;5;132;01m{\u001b[39;00m\u001b[38;5;28mself\u001b[39m._error_message(selector)\u001b[38;5;132;01m}\u001b[39;00m\u001b[33m, Timeout: \u001b[39m\u001b[38;5;132;01m{\u001b[39;00mtimeout\u001b[38;5;132;01m}\u001b[39;00m\u001b[33ms, Topology Description: \u001b[39m\u001b[38;5;132;01m{\u001b[39;00m\u001b[38;5;28mself\u001b[39m.description\u001b[38;5;132;01m!r}\u001b[39;00m\u001b[33m\"\u001b[39m\n\u001b[32m 338\u001b[39m )\n\u001b[32m 340\u001b[39m \u001b[38;5;28;01mif\u001b[39;00m \u001b[38;5;129;01mnot\u001b[39;00m logged_waiting:\n\u001b[32m 341\u001b[39m _debug_log(\n\u001b[32m 342\u001b[39m _SERVER_SELECTION_LOGGER,\n\u001b[32m 343\u001b[39m message=_ServerSelectionStatusMessage.WAITING,\n\u001b[32m (...)\u001b[39m\u001b[32m 349\u001b[39m remainingTimeMS=\u001b[38;5;28mint\u001b[39m(end_time - time.monotonic()),\n\u001b[32m 350\u001b[39m )\n", |
| 50 | + "\u001b[31mServerSelectionTimeoutError\u001b[39m: localhost:27017: [Errno 61] Connection refused (configured timeouts: socketTimeoutMS: 20000.0ms, connectTimeoutMS: 20000.0ms), Timeout: 30s, Topology Description: <TopologyDescription id: 684afbede5776620b1cb0429, topology_type: Unknown, servers: [<ServerDescription ('localhost', 27017) server_type: Unknown, rtt: None, error=AutoReconnect('localhost:27017: [Errno 61] Connection refused (configured timeouts: socketTimeoutMS: 20000.0ms, connectTimeoutMS: 20000.0ms)')>]>" |
| 51 | + ] |
| 52 | + } |
| 53 | + ], |
34 | 54 | "source": [
|
35 | 55 | "# If you are using your own MongoDB Atlas cluster, use the connection string for your cluster here\n",
|
36 | 56 | "MONGODB_URI = os.environ.get(\"MONGODB_URI\")\n",
|
|
0 commit comments