I wrote:
Wietse Venema writes:
I can confirm that with LMDB-0.9.10 + ITS#7756 patch, the assertion failure goes away when I close the cursor (and its read transaction) before changing the map or the database, and restore the cursor afterwards. I guess this got broken when things were changed to use external locks in order to avoid world-writable lockfiles.
Does this mean we can close this ITS? I made a major typo here:
Yes.
Ending the read-only transaction and starting a new one means you are no longer seeing the same snapshot, though. So I hope the reason you couldn't use single transaction which I suggested previously, was
**not**
that the reader transaction needed to keep seeing the same snapshot.