Index: impl/memory/datastore_data.go |
diff --git a/impl/memory/datastore_data.go b/impl/memory/datastore_data.go |
index 5ef87530ded64c4c31f367bb859d3f87c43b8d7b..2bfc13256f25f08eb97d833be1697c0e02f7090c 100644 |
--- a/impl/memory/datastore_data.go |
+++ b/impl/memory/datastore_data.go |
@@ -98,14 +98,14 @@ func curVersion(ents *memCollection, key []byte) int64 { |
if ents != nil { |
if v := ents.Get(key); v != nil { |
pm, err := rpm(v) |
- if err != nil { |
- panic(err) // memory corruption |
- } |
+ memoryCorruption(err) |
+ |
pl, ok := pm["__version__"] |
if ok && len(pl) > 0 && pl[0].Type() == ds.PTInt { |
return pl[0].Value().(int64) |
} |
- panic(fmt.Errorf("__version__ property missing or wrong: %v", pm)) |
+ |
+ memoryCorruption(fmt.Errorf("__version__ property missing or wrong: %v", pm)) |
} |
} |
return 0 |
@@ -247,9 +247,7 @@ func (d *dataStoreData) canApplyTxn(obj memContextObj) bool { |
continue |
} |
k, err := serialize.ReadKey(bytes.NewBufferString(rk), serialize.WithContext, "", "") |
- if err != nil { |
- panic(err) |
- } |
+ memoryCorruption(err) |
entKey := "ents:" + k.Namespace() |
mkey := groupMetaKey(k) |
@@ -281,10 +279,7 @@ func (d *dataStoreData) applyTxn(c context.Context, obj memContextObj) { |
d.putMulti([]ds.Key{m.key}, []ds.PropertyMap{m.data}, |
func(_ ds.Key, e error) { err = e }) |
} |
- err = errors.SingleError(err) |
- if err != nil { |
- panic(err) |
- } |
+ impossible(err) |
} |
} |
} |
@@ -338,10 +333,11 @@ func (td *txnDataStoreData) endTxn() { |
atomic.StoreInt32(&td.closed, 1) |
} |
func (*txnDataStoreData) applyTxn(context.Context, memContextObj) { |
- panic("txnDataStoreData cannot apply transactions") |
+ impossible(fmt.Errorf("cannot creat a recursive transaction")) |
} |
func (*txnDataStoreData) mkTxn(*ds.TransactionOptions) memContextObj { |
- panic("impossible") |
+ impossible(fmt.Errorf("cannot creat a recursive transaction")) |
+ return nil |
} |
func (td *txnDataStoreData) run(f func() error) error { |