From 439ac243b41525add2f8f608b2f218b8d93cfe95 Mon Sep 17 00:00:00 2001 From: Jason Aten Date: Tue, 15 Sep 2020 15:50:50 -0500 Subject: [PATCH] don't panic if dbs is reopened under roaring only. fixes #843 --- dbshard.go | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/dbshard.go b/dbshard.go index 5584ba09e..b992671d5 100644 --- a/dbshard.go +++ b/dbshard.go @@ -405,7 +405,11 @@ func (per *DBPerShard) GetDBShard(index string, shard uint64, idx *Index) (dbs * } dbs, ok = dbi.Shard[shard] if dbs != nil && dbs.closed { - panic(fmt.Sprintf("cannot retain closed dbs across holder ReOpen dbs='%p'", dbs)) + if len(per.types) == 1 && per.types[0] == roaringTxn { + // roaring txn are nil/fake anyway. Don't freak out. + } else { + panic(fmt.Sprintf("cannot retain closed dbs across holder ReOpen dbs='%p'", dbs)) + } } if !ok { dbs = &DBShard{