mirror of
https://git.openldap.org/openldap/openldap.git
synced 2025-12-24 00:29:35 -05:00
ITS#7386 close read txn in reindex commit
This commit is contained in:
parent
c2bd7e630d
commit
bdef02832e
1 changed files with 9 additions and 0 deletions
|
|
@ -844,6 +844,7 @@ done:
|
|||
if( rc == 0 ) {
|
||||
mdb_writes++;
|
||||
if ( mdb_writes >= mdb_writes_per_commit ) {
|
||||
MDB_val key;
|
||||
unsigned i;
|
||||
MDB_TOOL_IDL_FLUSH( be, txi );
|
||||
rc = mdb_txn_commit( txi );
|
||||
|
|
@ -858,6 +859,14 @@ done:
|
|||
e->e_id = NOID;
|
||||
}
|
||||
txi = NULL;
|
||||
/* Must close the read txn to allow old pages to be reclaimed. */
|
||||
mdb_txn_abort( txn );
|
||||
/* and then reopen it so that tool_entry_next still works. */
|
||||
mdb_txn_begin( mi->mi_dbenv, NULL, MDB_RDONLY, &txn );
|
||||
mdb_cursor_open( txn, mi->mi_id2entry, &cursor );
|
||||
key.mv_data = &id;
|
||||
key.mv_size = sizeof(ID);
|
||||
mdb_cursor_get( cursor, &key, NULL, MDB_SET );
|
||||
}
|
||||
|
||||
} else {
|
||||
|
|
|
|||
Loading…
Reference in a new issue