https://bugs.openldap.org/show_bug.cgi?id=9496
--- Comment #8 from opensource@gmx-topmail.de opensource@gmx-topmail.de --- After applying this patch, I observed some conditions in which MDB_PREVSNAPSHOT does not work anymore: instead of the previous commit, the current commit is taken.
While the exact conditions when this happens is not 100% clear, these are the observations:
- Having the DB on a RAM disk has impact. On macOS, we observed that it is always reproducible for one of our test case (straight forward test for MDB_PREVSNAPSHOT but too much context required to share here). RAM disk was created like that: diskutil partitionDisk $(hdiutil attach -nomount ram://2048000) 1 GPTFormat APFS 'ramdisk' '100%'
- When building with thread sanitizer the issue was also observed on Linux. It was reproducible in about half of the runs (flaky).
- It happened also in regular builds, but very infrequent.
I'm sorry that I cannot dig deeper at this moment and e.g. provide a patch. Still wanted to put these observations down in the hope that they might be useful for someone.
Best, Markus