Commit 0cd214f3 authored by Sandeep S. Shewalkar's avatar Sandeep S. Shewalkar
Browse files

LAzy writer

RemoveDataFromCacheForAppend added inside lazy writer
parent 28ebd705
Branches
1 merge request!43Lazy writer
Showing with 37 additions and 0 deletions
......@@ -440,3 +440,40 @@ func appendDataToFDB(filePath string, objectData interface{}) {
func Save(filePath string, data interface{}) {
saveDataToFDB(filePath, data)
}
// RemoveDataFromCacheForAppend Removes Data From Cache
func (lfd *LazyFDPHelper) RemoveDataFromCacheForAppend(identifier string) {
// Fetch All Rows and then save into db
cachedObjectList := lfd.gc.GetALL()
for item := range cachedObjectList {
//TODO: catch errors
cachedObject, getError := lfd.gc.Get(item)
if getError != nil {
logginghelper.LogError("error occured while getting ", item, " from gcache")
}
cachedObjectActual, _ := cachedObject.(LazyCacheObject)
if cachedObjectActual.Identifier == identifier {
if cachedObjectActual.ChangeCount > 0 {
cachedObjectActual.IsLocked = true
appendDataToFDB(cachedObjectActual.FileName, cachedObjectActual.InterfaceData)
cachedObjectActual.ChangeCount = 0
cachedObjectActual.IsLocked = false
lazyMutex.Lock()
lfd.DISK_WRITE_COUNT++
lazyMutex.Unlock()
// if isDebugMode {appendDataToFDB
// lazyCacheObject := PerformanceAnalyser[cachedObjectActual.FileName]
// lazyCacheObject.DISK_WRITE_COUNT++
// PerformanceAnalyser[cachedObjectActual.FileName] = lazyCacheObject
// }
}
lazyMutex.Lock()
lfd.gc.Remove(cachedObjectActual.FileName)
lazyMutex.Unlock()
}
}
}
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment