in src/main/java/com/googlesource/gerrit/plugins/lfs/locks/LfsProjectLocks.java [144:176]
void deleteLock(LfsLock lock) throws LfsException {
LockFile fileLock = new LockFile(locksPath.resolve(lock.id).toFile());
try {
if (!fileLock.lock()) {
String error =
String.format(
"Deleting lock on path [%s] in project %s is not possible", lock.path, project);
log.atWarning().log(error);
throw new LfsException(error);
}
} catch (IOException e) {
String error =
String.format(
"Getting lock on path [%s] in project %s failed with error %s",
lock.path, project, e.getMessage());
log.atWarning().log(error);
throw new LfsException(error);
}
try {
Files.deleteIfExists(locksPath.resolve(lock.id));
locks.invalidate(lock.id);
} catch (IOException e) {
String error =
String.format(
"Deleting lock on path [%s] in project %s failed with error %s",
lock.path, project, e.getMessage());
log.atWarning().log(error);
throw new LfsException(error);
} finally {
fileLock.unlock();
}
}