osstech-jp / openldap

OpenLDAP mirror and OSSTech works (WiredTiger backend and so on)
http://www.osstech.co.jp/product/openldap
Other
15 stars 15 forks source link

wiredtiger lost some changes with concurrent modification to one entry #8

Closed yasumatk closed 5 years ago

yasumatk commented 5 years ago

When some clients modify one entry with multi values at same time, some changes may be lost. Because reading entry and writing modification is not atomic in wt_modify().

So, I changed begin_transcation() to "snapshot mode". If the modification conflicts, that operation fails with WT_ROLLBACK. So it does rollback_transaction() and do that modification again with a new transaction.

quanah commented 4 years ago

Will any of these fixes to the WT backend be pushed to openldap upstream for the 2.5 release series?