[ https://issues.apache.org/jira/browse/OAK-4069?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15735409#comment-15735409 ]
Tomek Rękawek commented on OAK-4069: ------------------------------------ First, benchmark results: {{noformat}} # ConcurrentWriteReadTest C min 10% 50% 90% max N Oak-Mongo (readconcern=majority) 1 78 108 184 492 1430 1061 Oak-Mongo (readconcern=local) 1 87 110 193 491 1244 1029 {{noformat}} I used the [local replica|https://github.com/trekawek/global-mongo] set with latency=0. Benchmark invocation: {{noformat}} $ java -Druntime=300 -jar oak-run/target/oak-run-1.6-SNAPSHOT.jar benchmark ConcurrentWriteReadTest Oak-Mongo \ --mongouri 'mongodb://mongo1:27017,mongo2:27018,mongo3:27019/oak?w=majority&readPreference=nearest&readconcernlevel=majority' {{noformat}} > Use read concern majority when connected to a replica set > --------------------------------------------------------- > > Key: OAK-4069 > URL: https://issues.apache.org/jira/browse/OAK-4069 > Project: Jackrabbit Oak > Issue Type: Improvement > Components: mongomk > Reporter: Tomek Rękawek > Assignee: Tomek Rękawek > Labels: resilience > Fix For: 1.6, 1.5.16 > > Attachments: OAK-4069-2.patch, OAK-4069.patch > > > Mongo 3.2 introduces new query option: {{readConcern}}. It allows to read > only these changes that have been already committed to the majority of > secondary instances. > It prevents stale reads - a situation in which a change has been committed on > the primary (and read from it), but due to the network partition a new > primary is elected and the change is rolled back. > We should use this new option (together with {{w:majority}} implemented in > OAK-3554) when running Oak on MongoDB replica set. > References: > * [Jepsen: MongoDB stale > reads|https://aphyr.com/posts/322-jepsen-mongodb-stale-reads] > * [MongoDB documentation: Read Concern > in|https://docs.mongodb.org/manual/reference/read-concern/] -- This message was sent by Atlassian JIRA (v6.3.4#6332)