From 11d25c44db7fcf4f14dd33d13c69663300d9e0b5 Mon Sep 17 00:00:00 2001 From: thorinaboenke Date: Wed, 17 Jun 2026 11:44:23 +0200 Subject: [PATCH 1/2] auto_load true start without saved state on first boot --- .../test_utils/test_persistency_saver.py | 8 ++++++++ .../utils/persistency/persistency_saver.py | 5 ++++- 2 files changed, 12 insertions(+), 1 deletion(-) diff --git a/detectmatelibrary_tests/test_utils/test_persistency_saver.py b/detectmatelibrary_tests/test_utils/test_persistency_saver.py index f8aad6c7..558de6dd 100644 --- a/detectmatelibrary_tests/test_utils/test_persistency_saver.py +++ b/detectmatelibrary_tests/test_utils/test_persistency_saver.py @@ -223,6 +223,14 @@ def test_auto_load_on_init(self): PersistencySaver(p2, PersistencySaverConfig(path="memory://autoload/state", auto_load=True)) assert "E1" in p2.get_events_seen() + def test_auto_load_on_init_no_state_starts_fresh(self): + # auto_load=True with no prior save must not crash but starts with empty state + p = EventPersistency(event_data_class=EventDataFrame) + saver = PersistencySaver(p, PersistencySaverConfig(path="memory://autoload/state", auto_load=True)) + assert len(p.get_events_seen()) == 0 + assert len(p.get_events_data()) == 0 + assert saver is not None + class TestPersistencySaverIntegration: def test_full_cycle_dataframe_backend(self): diff --git a/src/detectmatelibrary/utils/persistency/persistency_saver.py b/src/detectmatelibrary/utils/persistency/persistency_saver.py index 13db6e16..ff603c62 100644 --- a/src/detectmatelibrary/utils/persistency/persistency_saver.py +++ b/src/detectmatelibrary/utils/persistency/persistency_saver.py @@ -87,7 +87,10 @@ def __init__(self, persistency: EventPersistency, config: PersistencySaverConfig persistency.register_on_ingest(self._check_event_count) if config.auto_load: - self.load() + try: + self.load() + except PersistencyLoadError as e: + logger.info(f"PersistencySaver: auto_load enabled but no state found, start fresh.({e})") def save(self) -> None: """Write full EventPersistency state to storage. From cb597f8da5bc796e38dd918f3f1bbaec7dc1b6dd Mon Sep 17 00:00:00 2001 From: thorinaboenke Date: Wed, 17 Jun 2026 11:53:38 +0200 Subject: [PATCH 2/2] fix path in test --- detectmatelibrary_tests/test_utils/test_persistency_saver.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/detectmatelibrary_tests/test_utils/test_persistency_saver.py b/detectmatelibrary_tests/test_utils/test_persistency_saver.py index 558de6dd..c3df1448 100644 --- a/detectmatelibrary_tests/test_utils/test_persistency_saver.py +++ b/detectmatelibrary_tests/test_utils/test_persistency_saver.py @@ -226,7 +226,8 @@ def test_auto_load_on_init(self): def test_auto_load_on_init_no_state_starts_fresh(self): # auto_load=True with no prior save must not crash but starts with empty state p = EventPersistency(event_data_class=EventDataFrame) - saver = PersistencySaver(p, PersistencySaverConfig(path="memory://autoload/state", auto_load=True)) + cfg = PersistencySaverConfig(path="memory://autoload_no_prior_state/state", auto_load=True) + saver = PersistencySaver(p, cfg) assert len(p.get_events_seen()) == 0 assert len(p.get_events_data()) == 0 assert saver is not None