From e21f2362fe27402700e36430a3dbf569fe6cc6af Mon Sep 17 00:00:00 2001
From: Victor Shyba <victor.shyba@gmail.com>
Date: Tue, 9 Feb 2021 00:36:16 -0300
Subject: [PATCH] apply reorg deletion as well

---
 lbry/wallet/server/block_processor.py   | 1 +
 lbry/wallet/server/db/elastic_search.py | 4 ++++
 2 files changed, 5 insertions(+)

diff --git a/lbry/wallet/server/block_processor.py b/lbry/wallet/server/block_processor.py
index e9e8d62e3..ad4cc0b33 100644
--- a/lbry/wallet/server/block_processor.py
+++ b/lbry/wallet/server/block_processor.py
@@ -289,6 +289,7 @@ class BlockProcessor:
 
             if self.sql:
                 await self.run_in_thread_with_lock(self.db.sql.delete_claims_above_height, self.height)
+                await self.db.search_index.delete_above_height(self.height)
             await self.prefetcher.reset_height(self.height)
             self.reorg_count_metric.inc()
         except:
diff --git a/lbry/wallet/server/db/elastic_search.py b/lbry/wallet/server/db/elastic_search.py
index 7b223c4b4..6c9409b01 100644
--- a/lbry/wallet/server/db/elastic_search.py
+++ b/lbry/wallet/server/db/elastic_search.py
@@ -150,6 +150,10 @@ class SearchIndex:
         await self.client.indices.refresh(self.index)
         await self.client.update_by_query(self.index, body=update)
 
+    async def delete_above_height(self, height):
+        await self.client.delete_by_query(self.index, expand_query(height='>'+str(height)))
+        await self.client.indices.refresh(self.index)
+
     async def session_query(self, query_name, kwargs):
         offset, total = kwargs.get('offset', 0) if isinstance(kwargs, dict) else 0, 0
         total_referenced = []