Database status error following update

After an update attempt from 4.1 to the latest version I am faced with a database status error:
Warning: Could not get database status (attempt 1/3)…

Full error is pasted below. This is a standalone installation. Any ideas how to recover? I really hope I do not need to delete the database, which contains a lot of data (!).

Peter

bash-4.2$ cryosparcm start
Starting cryoSPARC System master process..
CryoSPARC is not already running.
configuring database
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)
Traceback (most recent call last):
  File "<string>", line 1, in <module>
  File "/data/cherep01/cryosparc/cryosparc_master/cryosparc_compute/database_management.py", line 49, in configure_mongo
    initialize_replica_set()
  File "/data/cherep01/cryosparc/cryosparc_master/cryosparc_compute/database_management.py", line 88, in initialize_replica_set
    admin_db = try_get_pymongo_db(mongo_client)
  File "/data/cherep01/cryosparc/cryosparc_master/cryosparc_compute/database_management.py", line 251, in try_get_pymongo_db
    admin_db.command(({'serverStatus': 1}))
  File "/data/cherep01/cryosparc/cryosparc_master/deps/anaconda/envs/cryosparc_master_env/lib/python3.8/site-packages/pymongo/database.py", line 828, in command
    return self._command(
  File "/data/cherep01/cryosparc/cryosparc_master/deps/anaconda/envs/cryosparc_master_env/lib/python3.8/site-packages/pymongo/database.py", line 703, in _command
    return sock_info.command(
  File "/data/cherep01/cryosparc/cryosparc_master/deps/anaconda/envs/cryosparc_master_env/lib/python3.8/site-packages/pymongo/pool.py", line 740, in command
    return command(
  File "/data/cherep01/cryosparc/cryosparc_master/deps/anaconda/envs/cryosparc_master_env/lib/python3.8/site-packages/pymongo/network.py", line 177, in command
    helpers._check_command_response(
  File "/data/cherep01/cryosparc/cryosparc_master/deps/anaconda/envs/cryosparc_master_env/lib/python3.8/site-packages/pymongo/helpers.py", line 180, in _check_command_response
    raise OperationFailure(errmsg, code, response, max_wire_version)
pymongo.errors.OperationFailure: there are no users authenticated, full error: {'operationTime': Timestamp(1709153470, 1), 'ok': 0.0, 'errmsg': 'there are no users authenticated', 'code': 13, 'codeName': 'Unauthorized', '$clusterTime': {'clusterTime': Timestamp(1709153470, 1), 'signature': {'hash': b't\x01n\x1f\x9b\x8bx\xc3\xc1q\x8c\x8dd\x05\xf8\xb8\x03\xad\x14\x87', 'keyId': 7280309882748665857}}}
[2024-02-28T20:51:13+0000] Error configuring database. Most recent database log lines:
2024-02-28T20:51:00.086+0000 I STORAGE  [initandlisten] exception in initAndListen: DBPathInUse: Unable to lock the lock file: /data/cherep01/cryosparc/cryosparc_database/mongod.lock (Resource temporarily unavailable). Another mongod instance is already running on the /data/cherep01/cryosparc/cryosparc_database directory, terminating
2024-02-28T20:51:00.087+0000 I CONTROL  [initandlisten] now exiting
2024-02-28T20:51:00.087+0000 I CONTROL  [initandlisten] shutting down with code:100
2024-02-28T20:51:03.070+0000 I NETWORK  [listener] connection accepted from 127.0.0.1:42064 #723 (128 connections now open)
2024-02-28T20:51:03.070+0000 I NETWORK  [conn723] received client metadata from 127.0.0.1:42064 conn723: { driver: { name: "PyMongo", version: "3.13.0" }, os: { type: "Linux", name: "Linux", architecture: "x86_64", version: "3.10.0-862.3.2.el7.x86_64" }, platform: "CPython 3.8.17.final.0" }
2024-02-28T20:51:03.071+0000 I NETWORK  [listener] connection accepted from 127.0.0.1:42066 #724 (129 connections now open)
2024-02-28T20:51:03.072+0000 I NETWORK  [conn724] received client metadata from 127.0.0.1:42066 conn724: { driver: { name: "PyMongo", version: "3.13.0" }, os: { type: "Linux", name: "Linux", architecture: "x86_64", version: "3.10.0-862.3.2.el7.x86_64" }, platform: "CPython 3.8.17.final.0" }
2024-02-28T20:51:13.086+0000 I ACCESS   [conn724] Unauthorized: not authorized on admin to execute command { endSessions: [ { id: UUID("b12c0311-52e4-4bb1-99cf-4cebb27ed668") } ], $clusterTime: { clusterTime: Timestamp(1709153470, 1), signature: { hash: BinData(0, 74016E1F9B8B78C3C1718C8D6405F8B803AD1487), keyId: 7280309882748665857 } }, $db: "admin", $readPreference: { mode: "primaryPreferred" } }
2024-02-28T20:51:13.087+0000 I NETWORK  [conn723] end connection 127.0.0.1:42064 (128 connections now open)
2024-02-28T20:51:13.087+0000 I NETWORK  [conn724] end connection 127.0.0.1:42066 (127 connections now open)
bash-4.2$

Please can you perform a complete shutdown of CryoSPARC, then try again
cryosparcm start

Does this help?

Manually killing mongod allowed cryosparc to restart cleanly.
But I do need to make a backup of the database though. It was a bit of a scare at the end of a very stressful day…

Peter

Did you manage to back up the database?

yes, thank you, I tried “cryosparcm backup” and it created a backup file. I hope a restore will be as easy.
I suppose I need to backup all the project data as well (?)

Peter

Correct. cryosparcm backup does not include a backup of project directories.

1 Like