How do recover from being unable to create lock in backend because of insufficient space available?

There are no space left on the storage. prune --max-repack-size 0 and prune --unsafe-recover-no-free-space both fail because they are unable to create lock.

copy repository somewhere where you have enough space - copy/prune - copy back

If you absolutely don’t find anything else to delete on that drive, maybe you could try --no-lock?

Well, the repository is online and it will take a lot of time to download it. I consider this in the last resort.

prune --max-repack-size 0 --no-lock and prune --unsafe-recover-no-free-space SOME-ID --no-lock still want to create lock.

Hm, I think --no-lock is supposed to work for read-only repos so that’s strange. Maybe someone else here knows more about that?

IIRC there is no --no-lock for forget or prune.

But you should be able to just remove the locks using the unlock command - or, if this is not working - by removing all entries under /lock/ in the repository.

Hm I have never tried myself but --no-cache is mentioned on the restic-prune man page.

The problem here is not that a lock can’t be removed but rather that the drive seems to be too full to create one for pruning.

The reason why prune is not able to create a lock in my case is that the storage is full.

Ah, ok, got it!
A lockfile doesn’t need much space - if you can identify some snapshots you want to remove, you’ll most likely gain enought free space if you manually remove them from the repository.
I don’t know, but maybe forget --no-lock --dry-run works and enables you to identify what to remove?? Or you use the snapshots command to manually identify what you want to delete.

Another possibility is to use rustic which works without locks. But note that the equivalent to --unsafe-recover-no-free-space (called --early-delete-index in rustic) is only available if you manually build it using the main branch of rustic_core. A next version including this will be available in a couple of days…