From 3015e8d03ed4288eb365ee1222730f38a44c239d Mon Sep 17 00:00:00 2001 From: Leo Yuriev Date: Tue, 13 Jan 2015 00:12:13 +0300 Subject: [PATCH] lmdb: account pages from penging txn in mdb_txn_straggler(). Backport from master: f756a26a43ad933a98909a974ae84f7d43c30266. Change-Id: I0f8af7af722977ddeff88d2e8129bcde23ffd06f --- mdb.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/mdb.c b/mdb.c index 457ca44d..15affaa6 100644 --- a/mdb.c +++ b/mdb.c @@ -3079,7 +3079,8 @@ mdb_txn_straggler(MDB_txn *txn, int *percent) meta = env->me_metas[ mdb_env_pick_meta(env) ]; if (percent) { long cent = env->me_maxpg / 100; - *percent = (meta->mm_last_pg + cent / 2 + 1) / (cent ? cent : 1); + long last = env->me_txn ? env->me_txn0->mt_next_pgno : meta->mm_last_pg; + *percent = (last + cent / 2) / (cent ? cent : 1); } lag = meta->mm_txnid - txn->mt_u.reader->mr_txnid; return (0 > (long) lag) ? ~0u >> 1: lag;