Index: filter/txnBuf/state.go |
diff --git a/filter/txnBuf/state.go b/filter/txnBuf/state.go |
index 46762945225d61ec1a2bcc2534f25cd75cf23147..be2c51370a0883f5fdf57c45815e370b94a9bba7 100644 |
--- a/filter/txnBuf/state.go |
+++ b/filter/txnBuf/state.go |
@@ -264,10 +264,11 @@ func (t *txnBufState) getMulti(keys []*datastore.Key, metas datastore.MultiMetaG |
if len(toGetKeys) > 0 { |
j := 0 |
- t.bufDS.GetMulti(toGetKeys, nil, func(pm datastore.PropertyMap, err error) { |
+ t.bufDS.GetMulti(toGetKeys, nil, func(pm datastore.PropertyMap, err error) error { |
impossible(err) |
data[idxMap[j]].data = pm |
j++ |
+ return nil |
}) |
} |
@@ -285,7 +286,7 @@ func (t *txnBufState) getMulti(keys []*datastore.Key, metas datastore.MultiMetaG |
if len(idxMap) > 0 { |
j := 0 |
- err := t.parentDS.GetMulti(getKeys, getMetas, func(pm datastore.PropertyMap, err error) { |
+ err := t.parentDS.GetMulti(getKeys, getMetas, func(pm datastore.PropertyMap, err error) error { |
if err != datastore.ErrNoSuchEntity { |
i := idxMap[j] |
if !lme.Assign(i, err) { |
@@ -293,6 +294,7 @@ func (t *txnBufState) getMulti(keys []*datastore.Key, metas datastore.MultiMetaG |
} |
} |
j++ |
+ return nil |
}) |
if err != nil { |
return err |
@@ -331,10 +333,11 @@ func (t *txnBufState) deleteMulti(keys []*datastore.Key, cb datastore.DeleteMult |
} |
i := 0 |
- err := t.bufDS.DeleteMulti(keys, func(err error) { |
+ err := t.bufDS.DeleteMulti(keys, func(err error) error { |
impossible(err) |
t.entState.set(encKeys[i], 0) |
i++ |
+ return nil |
}) |
impossible(err) |
return nil |
@@ -399,10 +402,11 @@ func (t *txnBufState) putMulti(keys []*datastore.Key, vals []datastore.PropertyM |
} |
i := 0 |
- err := t.bufDS.PutMulti(keys, vals, func(k *datastore.Key, err error) { |
+ err := t.bufDS.PutMulti(keys, vals, func(k *datastore.Key, err error) error { |
impossible(err) |
t.entState.set(encKeys[i], vals[i].EstimateSize()) |
i++ |
+ return nil |
}) |
impossible(err) |
return nil |
@@ -425,9 +429,10 @@ func commitToReal(s *txnBufState) error { |
ch <- func() error { |
mErr := errors.NewLazyMultiError(len(toPut)) |
i := 0 |
- err := s.parentDS.PutMulti(toPutKeys, toPut, func(_ *datastore.Key, err error) { |
+ err := s.parentDS.PutMulti(toPutKeys, toPut, func(_ *datastore.Key, err error) error { |
mErr.Assign(i, err) |
i++ |
+ return nil |
}) |
if err == nil { |
err = mErr.Get() |
@@ -439,9 +444,10 @@ func commitToReal(s *txnBufState) error { |
ch <- func() error { |
mErr := errors.NewLazyMultiError(len(toDel)) |
i := 0 |
- err := s.parentDS.DeleteMulti(toDel, func(err error) { |
+ err := s.parentDS.DeleteMulti(toDel, func(err error) error { |
mErr.Assign(i, err) |
i++ |
+ return nil |
}) |
if err == nil { |
err = mErr.Get() |
@@ -462,10 +468,10 @@ func (t *txnBufState) effect() (toPut []datastore.PropertyMap, toPutKeys, toDel |
fq, err := datastore.NewQuery("").Finalize() |
impossible(err) |
- err = t.bufDS.Run(fq, func(key *datastore.Key, data datastore.PropertyMap, _ datastore.CursorCB) bool { |
+ err = t.bufDS.Run(fq, func(key *datastore.Key, data datastore.PropertyMap, _ datastore.CursorCB) error { |
toPutKeys = append(toPutKeys, key) |
toPut = append(toPut, data) |
- return true |
+ return nil |
}) |
memoryCorruption(err) |
@@ -497,11 +503,11 @@ func (t *txnBufState) commitLocked(s *txnBufState) { |
if len(toPut) > 0 { |
impossible(t.putMulti(toPutKeys, toPut, |
- func(_ *datastore.Key, err error) { impossible(err) }, true)) |
+ func(_ *datastore.Key, err error) error { return err }, true)) |
} |
if len(toDel) > 0 { |
- impossible(t.deleteMulti(toDel, impossible, true)) |
+ impossible(t.deleteMulti(toDel, func(err error) error { return err }, true)) |
} |
} |