https://bugs.openldap.org/show_bug.cgi?id=10138
--- Comment #9 from Howard Chu <[email protected]> --- (In reply to kero from comment #8) > > As long as nothing changes any of the write txn's state, you should be fine. > > Do you mean that it can be fine even if I use the encryption feature? No. Accessing records will cycle pages through the cache, thus changing the write txn's state. > > Note that if you wrote a lot of data in the txn, some dirty pages may have > > been flushed to make room for newer writes. In that case, any pointers to > > those flushed pages would be invalid. In that case, you'd have to use > > cursors to read the data reliably. > > Do you mean it is unreliable to keep the data pointers coming from a > read-only cursor if I wrote a lot of data into it? Even if I collect those > data pointers AFTER I have finished writing entries into the database? Ah, if you used a cursor to enumerate the data pointers after all writes were done, then it'll be fine. > > Because, according to the documentation, my solution is valid in the sense > that no updates are performed while I iterate on the database entries. > Therefore the threads are reading frozen pointers to the mmap area. > > > Values returned from the database are valid only until a subsequent update > > operation, or the end of the transaction. -- You are receiving this mail because: You are on the CC list for the issue.
