Project moved and the original path is inaccessible (cs.lock absent), need to update path

Hi all,

I have a project that has been moved from its original project directory, and I need to update the project directory for this file to the new location. Is there a way for me to force change the project directory safely?

Re-attaching this project has proven useless. It has 5000+ jobs, and the detach/archive commands don’t do anything.

For context

*** (http://cryosparc.server:55557, code 400) Encountered ServerError from JSONRPC function “update_project_directory” with params {‘project_uid’: ‘P32’, ‘new_project_dir’: ‘/new/path/to/project’}:
ServerError: validation error: lock file for P32 at /original/path/to/project/cs.lock absent or otherwise inaccessible.
Traceback (most recent call last):
File “/cryosparc/service_account/cryosparc_master/cryosparc_command/commandcommon.py”, line 196, in wrapper
res = func(\*args, \*\*kwargs)
File “/cryosparc/service_account/cryosparc_master/cryosparc_command/commandcommon.py”, line 250, in wrapper
assert os.path.isfile(
AssertionError: validation error: lock file for P32 at /original/path/to/project/cs.lock absent or otherwise inaccessible.

Please let me know what I can do to restore this project. I have no way of accessing the original storage server that hosted this folder.

Thank you,
Walid

When a change in the path of a CryoSPARC project directory is anticipated and the contents of the project directory are guaranteed to remain unchanged during the move between the old and new path, one should

  1. Before moving the project directory, apply the CryoSPARC archive project action.
  2. Move the project directory to the new path.
  3. Unarchive the project.

If the archive project action was missed, but the contents of the project directory are guaranteed to be unchanged after the project directory was moved, one may recover by

  1. running the commands
    cryosparcm icli # from Linux shell to CryoSPARC cli prompt
    # uid based on Walid's question
    db.projects.update_one({'uid': 'P32'}, {'$set': {'archived': True}})
    exit() # back to Linux shell
    
  2. then unarchiving the project