Hello!
I was attempting to update Cryosparc to the latest version and have run into issues with the database being unable to be reached. The master node update downloaded and started the process of updating, but failed when it tried to run itself. I’ve attached the error message text below.
# ===================================================
Successfully updated master to version v4.6.0.
Starting CryoSPARC System master process…
CryoSPARC is not already running.
configuring database…
Traceback (most recent call last):
File "<string>", line 1, in <module>
File "/home/spuser/cryosparc/cryosparc_master/cryosparc_compute/database_management.py", line 47, in configure_mongo
initialize_replica_set()
File "/home/spuser/cryosparc/cryosparc_master/cryosparc_compute/database_management.py", line 84, in initialize_replica_set
admin_db = try_get_pymongo_db(mongo_client)
File "/home/spuser/cryosparc/cryosparc_master/cryosparc_compute/database_management.py", line 251, in try_get_pymongo_db
admin_db.command(({'serverStatus': 1}))
File "/home/spuser/cryosparc/cryosparc_master/deps/anaconda/envs/cryosparc_master_env/lib/python3.10/site-packages/pymongo/_csot.py", line 108, in csot_wrapper
return func(self, *args, **kwargs)
File "/home/spuser/cryosparc/cryosparc_master/deps/anaconda/envs/cryosparc_master_env/lib/python3.10/site-packages/pymongo/database.py", line 897, in command
return self._command(
File "/home/spuser/cryosparc/cryosparc_master/deps/anaconda/envs/cryosparc_master_env/lib/python3.10/site-packages/pymongo/database.py", line 737, in _command
return conn.command(
File "/home/spuser/cryosparc/cryosparc_master/deps/anaconda/envs/cryosparc_master_env/lib/python3.10/site-packages/pymongo/helpers.py", line 342, in inner
return func(*args, **kwargs)
File "/home/spuser/cryosparc/cryosparc_master/deps/anaconda/envs/cryosparc_master_env/lib/python3.10/site-packages/pymongo/pool.py", line 989, in command
return command(
File "/home/spuser/cryosparc/cryosparc_master/deps/anaconda/envs/cryosparc_master_env/lib/python3.10/site-packages/pymongo/network.py", line 212, in command
helpers._check_command_response(
File "/home/spuser/cryosparc/cryosparc_master/deps/anaconda/envs/cryosparc_master_env/lib/python3.10/site-packages/pymongo/helpers.py", line 248, in _check_command_response
raise OperationFailure(errmsg, code, response, max_wire_version)
pymongo.errors.OperationFailure: there are no users authenticated, full error: {'operationTime': Timestamp(1726249818, 1), 'ok': 0.0, 'errmsg': 'there are no users authenticated', 'code': 13, 'codeName': 'Unauthorized', '$clusterTime': {'clusterTime': Timestamp(1726249818, 1), 'signature': {'hash': b'\x88\xe7$\xc1 \xcc?\x89E?E\xdb\xafo\xe5\xc8F\xf9\xdb\xa3', 'keyId': 7360428142558707717}}}
Warning: Could not get database status (attempt 1/3)
Warning: Could not get database status (attempt 2/3)
Warning: Could not get database status (attempt 3/3)
[2024-09-13T13:50:28-0400] Error configuring database. Most recent database log lines:
2024-09-13T13:49:18.699-0400 I COMMAND [conn16] command [local.oplog.rs](http://local.oplog.rs) command: find { find: "oplog.rs", filter: { ns: /^(?:meteor.|admin.$cmd)/, $or: [ { op: { $in: [ "i", "u", "d" ] } }, { op: "c", o.drop: { $exists: true } }, { op: "c", o.dropDatabase: 1 }, { op: "c", o.applyOps: { $exists: true } } ], ts: { $gt: Timestamp(1726248945, 13) } }, tailable: true, awaitData: true, lsid: { id: UUID("c7307f34-7236-4b0d-a4e6-d229629c579c") }, $clusterTime: { clusterTime: Timestamp(1726249748, 1), signature: { hash: BinData(0, 6E088A36E9B276B0851ECB54E87897FA04ED65D6), keyId: 7360428142558707717 } }, $db: "local" } planSummary: COLLSCAN cursorid:12436622142 keysExamined:0 docsExamined:256092 numYields:2000 nreturned:0 reslen:212 locks:{ Global: { acquireCount: { r: 4002 } }, Database: { acquireCount: { r: 2001 } }, oplog: { acquireCount: { r: 2001 } } } protocol:op_msg 473ms
2024-09-13T13:49:49.175-0400 I COMMAND [conn16] command [local.oplog.rs](http://local.oplog.rs) command: find { find: "oplog.rs", filter: { ns: /^(?:meteor.|admin.$cmd)/, $or: [ { op: { $in: [ "i", "u", "d" ] } }, { op: "c", o.drop: { $exists: true } }, { op: "c", o.dropDatabase: 1 }, { op: "c", o.applyOps: { $exists: true } } ], ts: { $gt: Timestamp(1726248945, 13) } }, tailable: true, awaitData: true, lsid: { id: UUID("c7307f34-7236-4b0d-a4e6-d229629c579c") }, $clusterTime: { clusterTime: Timestamp(1726249788, 1), signature: { hash: BinData(0, 00F8DF5CDD678D3553E0812F33E78A4EEBDD7086), keyId: 7360428142558707717 } }, $db: "local" } planSummary: COLLSCAN cursorid:12794812581 keysExamined:0 docsExamined:256095 numYields:2000 nreturned:0 reslen:212 locks:{ Global: { acquireCount: { r: 4002 } }, Database: { acquireCount: { r: 2001 } }, oplog: { acquireCount: { r: 2001 } } } protocol:op_msg 448ms
2024-09-13T13:50:18.357-0400 I NETWORK [listener] connection accepted from 127.0.0.1:46906 #92 (46 connections now open)
2024-09-13T13:50:18.357-0400 I NETWORK [conn92] received client metadata from 127.0.0.1:46906 conn92: { driver: { name: "PyMongo", version: "4.8.0" }, os: { type: "Linux", name: "Linux", architecture: "x86_64", version: "3.10.0-1160.90.1.el7.x86_64" }, platform: "CPython 3.10.14.final.0" }
2024-09-13T13:50:18.360-0400 I NETWORK [listener] connection accepted from 127.0.0.1:46908 #93 (47 connections now open)
2024-09-13T13:50:18.360-0400 I NETWORK [conn93] received client metadata from 127.0.0.1:46908 conn93: { driver: { name: "PyMongo", version: "4.8.0" }, os: { type: "Linux", name: "Linux", architecture: "x86_64", version: "3.10.0-1160.90.1.el7.x86_64" }, platform: "CPython 3.10.14.final.0" }
2024-09-13T13:50:18.683-0400 I COMMAND [conn16] command [local.oplog.rs](http://local.oplog.rs) command: find { find: "oplog.rs", filter: { ns: /^(?:meteor.|admin.$cmd)/, $or: [ { op: { $in: [ "i", "u", "d" ] } }, { op: "c", o.drop: { $exists: true } }, { op: "c", o.dropDatabase: 1 }, { op: "c", o.applyOps: { $exists: true } } ], ts: { $gt: Timestamp(1726248945, 13) } }, tailable: true, awaitData: true, lsid: { id: UUID("c7307f34-7236-4b0d-a4e6-d229629c579c") }, $clusterTime: { clusterTime: Timestamp(1726249808, 1), signature: { hash: BinData(0, 11A94A14A44B26659512E4BA885F0829D7E3AD04), keyId: 7360428142558707717 } }, $db: "local" } planSummary: COLLSCAN cursorid:10126917321 keysExamined:0 docsExamined:256098 numYields:2000 nreturned:0 reslen:212 locks:{ Global: { acquireCount: { r: 4002 } }, Database: { acquireCount: { r: 2001 } }, oplog: { acquireCount: { r: 2001 } } } protocol:op_msg 479ms
2024-09-13T13:50:28.377-0400 I ACCESS [conn93] Unauthorized: not authorized on admin to execute command { endSessions: [ { id: UUID("2dc075ed-d682-425a-8d50-22f47e3556b6") } ], $clusterTime: { clusterTime: Timestamp(1726249818, 1), signature: { hash: BinData(0, 88E724C120CC3F89453F45DBAF6FE5C846F9DBA3), keyId: 7360428142558707717 } }, $db: "admin", $readPreference: { mode: "primaryPreferred" } }
2024-09-13T13:50:28.378-0400 I NETWORK [conn92] end connection 127.0.0.1:46906 (46 connections now open)
2024-09-13T13:50:28.378-0400 I NETWORK [conn93] end connection 127.0.0.1:46908 (45 connections now open)
/home/spuser/cryosparc/cryosparc_master/bin/cryosparcm: line 2216: unexpected EOF while looking for matching `"'
EDIT: I messed around some more, it seems there was a MongoDB zombie process running (found help in this post: Cannot start CryoSPARC `pymongo.errors.OperationFailure: there are no users authenticated`)
Using the KILL command I was able to successfully restart cryosparc and update it.