https://bugs.openldap.org/show_bug.cgi?id=9618
Issue ID: 9618
Summary: Sync'ing is not happening in MDB_WRITEMAP mode on
Windows with mdb.master3
Product: LMDB
Version: 0.9.29
Hardware: All
OS: Windows
Status: UNCONFIRMED
Severity: normal
Priority: ---
Component: liblmdb
Assignee: [email protected]
Reporter: [email protected]
Target Milestone: ---
Created attachment 831
--> https://bugs.openldap.org/attachment.cgi?id=831&action=edit
Revert back to using standard FlushViewOfFile/FlushFileBuffers to sync data
with WRITEMAP mode on Windows
With ITS#9017, Windows sync'ing is performed by using the write-through (and
overlapped) writes, as it performs much better than
FlushViewOfFile/FlushFileBuffers. However, this functionality has regressed on
mdb.master3 because performing the writes is dependent on tracking and writing
the list of dirty pages, which is not tracked in WRITEMAP mode. This means that
on mdb.master3, with MDB_WRITEMAP, sync'ing is not really happening on Windows.
I think it is probably preferable to not try to maintain an exception for dirty
page tracking in WRITEMAP mode just for Windows. The attached patch reverts
back to using the standard map/file sync procedure
(FlushViewOfFile/FlushFileBuffers) to sync data when in WRITEMAP on Windows.
This still maintains the (better performing) write-through based sync technique
for standard, non-WRITEMAP mode on Windows.
--
You are receiving this mail because:
You are on the CC list for the issue.