From 8f94eb5420adea06cbdd24840bd74a5ebdab0719 Mon Sep 17 00:00:00 2001
From: Michael Eischer <michael.eischer@fau.de>
Date: Sun, 22 Jan 2023 15:52:05 +0100
Subject: [PATCH] add changelog for less strict lock handling

---
 changelog/unreleased/pull-4152 | 16 ++++++++++++++++
 1 file changed, 16 insertions(+)
 create mode 100644 changelog/unreleased/pull-4152

diff --git a/changelog/unreleased/pull-4152 b/changelog/unreleased/pull-4152
new file mode 100644
index 000000000..4eb004f20
--- /dev/null
+++ b/changelog/unreleased/pull-4152
@@ -0,0 +1,16 @@
+Enhancement: Ignore empty lock files
+
+With restic 0.15.0 the checks for stale locks became much stricter than before.
+In particular, empty or unreadable locks were no longer ignored. This caused
+restic to complain about `Load(<lock/1234567812>, 0, 0) returned error,
+retrying after 552.330144ms: load(<lock/1234567812>): invalid data returned`
+and fail in the end.
+
+We have clarified the error message and changed the implementation to ignore
+empty lock files which are sometimes created as the result of a failed upload
+on some backends. Unreadable lock files still have to cleaned up manually. To
+do so, you can run `restic unlock --remove-all` which removes all existing lock
+files. But first make sure that no other restic process is currently running.
+
+https://github.com/restic/restic/issues/4143
+https://github.com/restic/restic/pull/4152