Committed to mdb.master
commit 6028662665c09f4d34b751bfd9b09223f6cb2433 Author: Leo Yuriev leo@yuriev.ru Date: 2014-10-17 23:29:56 +0400
ITS#7970 for LMDB: the Heisenbug.
diff --git a/libraries/liblmdb/mdb.c b/libraries/liblmdb/mdb.c index 3286ffb..83a15c1 100644 --- a/libraries/liblmdb/mdb.c +++ b/libraries/liblmdb/mdb.c @@ -2522,7 +2522,12 @@ mdb_txn_renew0(MDB_txn *txn) return rc; } }
- txn->mt_txnid = r->mr_txnid = ti->mti_txnid;
- do /* LY: Retry on a race, ITS#7970. */
- r->mr_txnid = ti->mti_txnid;
- while(r->mr_txnid != ti->mti_txnid);
- txn->mt_txnid = r->mr_txnid; txn->mt_u.reader = r; meta = env->me_metas[txn->mt_txnid & 1]; }