The MongoDocumentStore uses findAndModify() to commit a transaction. This operation does not allow an application specified write concern and always uses the MongoDB default write concern Acknowledged. This means a commit may not make it to a majority of a replica set when the primary fails. From a MongoDocumentStore perspective it may appear as if a write was successful and later reverted. See also the test in
To fix this, we'd probably have to change the MongoDocumentStore to avoid findAndModify() and use update() instead.