deleter cleanups (#34345)

This commit is contained in:
Cameron Clough
2025-01-09 20:00:45 +00:00
committed by GitHub
parent 5dd1972f96
commit f761f53205
+3 -7
View File
@@ -23,6 +23,7 @@ def has_preserve_xattr(d: str) -> bool:
def get_preserved_segments(dirs_by_creation: list[str]) -> list[str]:
# skip deleting most recent N preserved segments (and their prior segment)
preserved = []
for n, d in enumerate(filter(has_preserve_xattr, reversed(dirs_by_creation))):
if n == PRESERVE_COUNT:
@@ -44,15 +45,13 @@ def get_preserved_segments(dirs_by_creation: list[str]) -> list[str]:
return preserved
def deleter_thread(exit_event):
def deleter_thread(exit_event: threading.Event):
while not exit_event.is_set():
out_of_bytes = get_available_bytes(default=MIN_BYTES + 1) < MIN_BYTES
out_of_percent = get_available_percent(default=MIN_PERCENT + 1) < MIN_PERCENT
if out_of_percent or out_of_bytes:
dirs = listdir_by_creation(Paths.log_root())
# skip deleting most recent N preserved segments (and their prior segment)
preserved_dirs = get_preserved_segments(dirs)
# remove the earliest directory we can
@@ -64,10 +63,7 @@ def deleter_thread(exit_event):
try:
cloudlog.info(f"deleting {delete_path}")
if os.path.isfile(delete_path):
os.remove(delete_path)
else:
shutil.rmtree(delete_path)
shutil.rmtree(delete_path)
break
except OSError:
cloudlog.exception(f"issue deleting {delete_path}")