Clear the previous hashmap once new SS is downloaded.
diff --git a/listener.go b/listener.go index f770dba..cf18262 100644 --- a/listener.go +++ b/listener.go
@@ -26,10 +26,11 @@ func processSnapshot(snapshot *common.Snapshot) { + var prevDb string if apidInfo.LastSnapshot != "" && apidInfo.LastSnapshot != snapshot.SnapshotInfo { log.Debugf("Release snapshot for {%s}. Switching to version {%s}", apidInfo.LastSnapshot , snapshot.SnapshotInfo) - dataService.ReleaseDB(apidInfo.LastSnapshot) + prevDb = apidInfo.LastSnapshot } else { log.Debugf("Process snapshot for version {%s}", snapshot.SnapshotInfo) @@ -51,6 +52,10 @@ setDB(db) log.Debugf("Snapshot processed: %s", snapshot.SnapshotInfo) + // Releases the DB, when the Connection reference count reaches 0. + if prevDb != "" { + dataService.ReleaseDB(prevDb) + } } func processSqliteSnapshot(db apid.DB) {