From 229113a1edbfafb98097e0320f9896e8259cd666 Mon Sep 17 00:00:00 2001 From: Simon Date: Sat, 24 Jan 2026 17:39:36 +0700 Subject: [PATCH] handle aliased snapshot restore --- backend/appsettings/src/snapshot.py | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/backend/appsettings/src/snapshot.py b/backend/appsettings/src/snapshot.py index 49c7eccd..a0739854 100644 --- a/backend/appsettings/src/snapshot.py +++ b/backend/appsettings/src/snapshot.py @@ -261,10 +261,15 @@ class ElasticSnapshot: def restore_all(self, snapshot_name): """restore snapshot by name""" for index in self.all_indices: - _, _ = ElasticWrap(index).delete() + response, status_code = ElasticWrap(index).get() + if status_code == 404: + continue + + index_alias = list(response.keys())[0] + _, _ = ElasticWrap(index_alias).delete() path = f"_snapshot/{self.REPO}/{snapshot_name}/_restore" - data = {"indices": "*"} + data = {"indices": "*,-.*"} response, statuscode = ElasticWrap(path).post(data=data) if statuscode == 200: print(f"snapshot: executing now: {response}")