diff --git a/servers/slapd/back-mdb/search.c b/servers/slapd/back-mdb/search.c index 8e06326780..036d21b2b0 100644 --- a/servers/slapd/back-mdb/search.c +++ b/servers/slapd/back-mdb/search.c @@ -1125,8 +1125,11 @@ loop_continue: if ( moi == &opinfo && !wwctx.flag && mdb->mi_rtxn_size ) { wwctx.nentries++; if ( wwctx.nentries >= mdb->mi_rtxn_size ) { + MDB_envinfo ei; wwctx.nentries = 0; - mdb_rtxn_snap( op, &wwctx ); + mdb_env_info(mdb->mi_dbenv, &ei); + if ( ei.me_last_txnid > mdb_txn_id( ltid )) + mdb_rtxn_snap( op, &wwctx ); } } if ( wwctx.flag ) {