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) {