From 2aa00cbf4142b92146f63850e9d62280fa33b4b1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Damir=20Jeli=C4=87?= Date: Wed, 17 Jun 2020 17:13:25 +0200 Subject: [PATCH] EventIndex: Bump our user version and delete the db if it's an old db. --- src/indexing/EventIndex.js | 3 --- src/indexing/EventIndexPeg.js | 19 +++++++++++++++++++ 2 files changed, 19 insertions(+), 3 deletions(-) diff --git a/src/indexing/EventIndex.js b/src/indexing/EventIndex.js index d4e8ab0117..ca974dd4fc 100644 --- a/src/indexing/EventIndex.js +++ b/src/indexing/EventIndex.js @@ -42,9 +42,6 @@ export default class EventIndex extends EventEmitter { async init() { const indexManager = PlatformPeg.get().getEventIndexingManager(); - await indexManager.initEventIndex(); - console.log("EventIndex: Successfully initialized the event index"); - this.crawlerCheckpoints = await indexManager.loadCheckpoints(); console.log("EventIndex: Loaded checkpoints", this.crawlerCheckpoints); diff --git a/src/indexing/EventIndexPeg.js b/src/indexing/EventIndexPeg.js index ae4c14dafd..20e05f985d 100644 --- a/src/indexing/EventIndexPeg.js +++ b/src/indexing/EventIndexPeg.js @@ -23,6 +23,8 @@ import PlatformPeg from "../PlatformPeg"; import EventIndex from "../indexing/EventIndex"; import SettingsStore, {SettingLevel} from '../settings/SettingsStore'; +const INDEX_VERSION = 1; + class EventIndexPeg { constructor() { this.index = null; @@ -66,8 +68,25 @@ class EventIndexPeg { */ async initEventIndex() { const index = new EventIndex(); + const indexManager = PlatformPeg.get().getEventIndexingManager(); try { + await indexManager.initEventIndex(); + + const userVersion = await indexManager.getUserVersion(); + const eventIndexIsEmpty = await indexManager.isEventIndexEmpty(); + + if (eventIndexIsEmpty) { + await indexManager.setUserVersion(INDEX_VERSION); + } else if (userVersion === 0 && !eventIndexIsEmpty) { + await indexManager.closeEventIndex(); + await this.deleteEventIndex(); + + await indexManager.initEventIndex(); + await indexManager.setUserVersion(INDEX_VERSION); + } + + console.log("EventIndex: Successfully initialized the event index"); await index.init(); } catch (e) { console.log("EventIndex: Error initializing the event index", e);