Commit 12504881 authored by Vivek Naik's avatar Vivek Naik
Browse files

fix: fdb delete record

parent 4146b076
Branches
Tags
2 merge requests!127Mep release 13Nov2019,!126fix: fdb delete record
Showing with 27 additions and 17 deletions
......@@ -824,11 +824,11 @@ func deleteDataFromNormalBucket(fdbPath string, index *Index, paths []string) (r
index.indexObj.Update(func(tx *buntdb.Tx) error {
for _, path := range paths {
// delete index entry
_, err := tx.Delete(path)
if err != nil {
errList = append(errList, errormdl.Wrap("unable to delete index :"+path+err.Error()))
continue
}
// _, err := tx.Delete(path)
// if err != nil {
// errList = append(errList, errormdl.Wrap("unable to delete index :"+path+err.Error()))
// continue
// }
filePath := filepath.Join(fdbPath, path)
// dirPath, _ := filepath.Split(path)
......@@ -848,7 +848,7 @@ func deleteDataFromNormalBucket(fdbPath string, index *Index, paths []string) (r
// }
// delete file
err = deleteNormalFile(filePath)
err := deleteNormalFile(filePath)
if err != nil {
errList = append(errList, errormdl.Wrap("unable to delete file : "+filePath+err.Error()))
......@@ -891,7 +891,7 @@ func deleteDataFromInFileIndexBucket(fdbPath string, bucket *Bucket, paths []str
continue
}
if err != nil {
errList = append(errList, errormdl.Wrap("fail to delete records from: "+path+" : "+err.Error()))
errList = append(errList, errormdl.Wrap("fail to delete records: "+err.Error()))
continue
}
dataDeletedFromPath = append(dataDeletedFromPath, filePath)
......@@ -1184,17 +1184,19 @@ func DeleteDataFromFDB(dbName string, indexID string, rs *gjson.Result, queries
} else {
return recordsDeleted, []error{errormdl.Wrap("Operation not allowed on bucket type: " + bucket.BucketType)}
}
index.indexObj.Update(func(tx *buntdb.Tx) error {
// optimization : if data not changed then dont update
for _, path := range dataDeletedFromPaths {
_, err = tx.Delete(path)
if err != nil {
errList = append(errList, err)
// loggermdl.LogError("dataDeletedFromPaths", dataDeletedFromPaths)
if bucket.BucketType == BucketTypeSimple {
index.indexObj.Update(func(tx *buntdb.Tx) error {
// optimization : if data not changed then dont update
for _, path := range dataDeletedFromPaths {
_, err = tx.Delete(path)
if err != nil {
errList = append(errList, err)
}
}
}
return nil
})
return nil
})
}
if isLazyWriterEnabled {
......
......@@ -251,6 +251,10 @@ func TestDeleteDataFromNormalBucket(t *testing.T) {
if len(errList) > 0 {
loggermdl.LogError(errList)
}
err = LogFDBIndexFile(indexFilePath, i)
if err != nil {
log.Fatal(err)
}
loggermdl.LogDebug("recordsDeletedCnt", recordsDeletedCnt)
}
......@@ -609,6 +613,10 @@ func TestDeleteDataFromPackBucket(t *testing.T) {
if len(errList) > 0 {
loggermdl.LogError(errList)
}
err = LogFDBIndexFile(indexFilePath, i)
if err != nil {
log.Fatal(err)
}
loggermdl.LogDebug("recordsDeleted", recordsDeleted)
}
......
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