|
@@ -6,11 +6,13 @@ import sys
|
|
|
import time
|
|
|
|
|
|
from .helpers import Error, ErrorWithTraceback
|
|
|
+from .logger import create_logger
|
|
|
from .platform import process_alive, get_process_id
|
|
|
|
|
|
ADD, REMOVE = 'add', 'remove'
|
|
|
SHARED, EXCLUSIVE = 'shared', 'exclusive'
|
|
|
|
|
|
+logger = create_logger(__name__)
|
|
|
|
|
|
|
|
|
class TimeoutTimer:
|
|
@@ -173,16 +175,18 @@ class ExclusiveLock:
|
|
|
|
|
|
if not self.ok_to_kill_stale_locks:
|
|
|
if not self.stale_warning_printed:
|
|
|
- print(("Found stale lock %s, but not deleting because BORG_UNIQUE_HOSTNAME is not set." % name), file=sys.stderr)
|
|
|
+ # Log this at warning level to hint the user at the ability
|
|
|
+ logger.warning("Found stale lock %s, but not deleting because BORG_UNIQUE_HOSTNAME is not set.", name)
|
|
|
self.stale_warning_printed = True
|
|
|
return False
|
|
|
|
|
|
try:
|
|
|
os.unlink(os.path.join(self.path, name))
|
|
|
- print(("Killed stale lock %s." % name), file=sys.stderr)
|
|
|
+ logger.warning('Killed stale lock %s.', name)
|
|
|
except OSError as err:
|
|
|
if not self.stale_warning_printed:
|
|
|
- print(("Found stale lock %s, but cannot delete due to %s" % (name, str(err))), file=sys.stderr)
|
|
|
+ # This error will bubble up and likely result in locking failure
|
|
|
+ logger.error('Found stale lock %s, but cannot delete due to %s', name, str(err))
|
|
|
self.stale_warning_printed = True
|
|
|
return False
|
|
|
|
|
@@ -230,7 +234,7 @@ class LockRoster:
|
|
|
if not process_alive(host, pid, thread):
|
|
|
elements.add(tuple(e))
|
|
|
else:
|
|
|
- print(("Removed stale %s roster lock for pid %d." % (key, pid)), file=sys.stderr)
|
|
|
+ logger.warning('Removed stale %s roster lock for pid %d.', key, pid)
|
|
|
data[key] = list(list(e) for e in elements)
|
|
|
except KeyError:
|
|
|
pass
|