diff --git a/frigate/record.py b/frigate/record.py index bdc3d5671..89576bdeb 100644 --- a/frigate/record.py +++ b/frigate/record.py @@ -99,11 +99,17 @@ class RecordingMaintainer(threading.Thread): # delete all cached files past the most recent 5 keep_count = 5 for camera in grouped_recordings.keys(): - if len(grouped_recordings[camera]) > keep_count: + segment_count = len(grouped_recordings[camera]) + if segment_count > keep_count: + logger.warning( + f"Too many recording segments in cache for {camera}. Keeping the {keep_count} most recent segments out of {segment_count}, discarding the rest..." + ) to_remove = grouped_recordings[camera][:-keep_count] for f in to_remove: - Path(f["cache_path"]).unlink(missing_ok=True) - self.end_time_cache.pop(f["cache_path"], None) + cache_path = f["cache_path"] + logger.warning(f"Discarding a recording segment: {cache_path}") + Path(cache_path).unlink(missing_ok=True) + self.end_time_cache.pop(cache_path, None) grouped_recordings[camera] = grouped_recordings[camera][-keep_count:] for camera, recordings in grouped_recordings.items():