[SERVER-53247] Disable enableMajorityReadConcern:false Created: 04/Dec/20 Updated: 29/Oct/23 Resolved: 19/Jan/21 |
|
| Status: | Closed |
| Project: | Core Server |
| Component/s: | None |
| Affects Version/s: | None |
| Fix Version/s: | 4.9.0 |
| Type: | Task | Priority: | Major - P3 |
| Reporter: | Evin Roesle | Assignee: | Pavithra Vetriselvan |
| Resolution: | Fixed | Votes: | 0 |
| Labels: | None | ||
| Remaining Estimate: | Not Specified | ||
| Time Spent: | Not Specified | ||
| Original Estimate: | Not Specified | ||
| Issue Links: |
|
||||||||||||||||||||||||||||||||||||||||||||
| Backwards Compatibility: | Major Change | ||||||||||||||||||||||||||||||||||||||||||||
| Sprint: | Repl 2020-12-28, Repl 2021-01-11, Repl 2021-01-25 | ||||||||||||||||||||||||||||||||||||||||||||
| Participants: | |||||||||||||||||||||||||||||||||||||||||||||
| Description |
|
WiredTiger recently completed an investigation of the feasibility of removing enableMajorityReadConcern:false now that WT has durable history. After reviewing the findings of that investigation, we are moving forward with Removing Support for enableMajorityReadConcern:false. Durable History addresses cache pressure concerns around majority commit point lag allowing for the removal of eMRC:false (a mode of operation that does not allow distributed transactions and other features). We need to disable support for eMRC:false as a first step. In a future release, we will fully remove support for eMRC:false. |
| Comments |
| Comment by Githook User [ 19/Jan/21 ] |
|
Author: {'name': 'Pavi Vetriselvan', 'email': 'pavithra.vetriselvan@mongodb.com', 'username': 'pvselvan'}Message: |
| Comment by Githook User [ 14/Jan/21 ] |
|
Author: {'name': 'Pavi Vetriselvan', 'email': 'pavithra.vetriselvan@mongodb.com', 'username': 'pvselvan'}Message: |
| Comment by Githook User [ 13/Jan/21 ] |
|
Author: {'name': 'Pavi Vetriselvan', 'email': 'pavithra.vetriselvan@mongodb.com', 'username': 'pvselvan'}Message: |
| Comment by Pavithra Vetriselvan [ 06/Jan/21 ] |
|
geert.bosch I filed I don't think those tickets apply to the inMemory storage engine since it looks like we're already running those variants with EMRC=true. |
| Comment by Judah Schvimer [ 04/Jan/21 ] |
|
My understanding is that we can completely remove EMRC=F, including removing support for ephemeralForTest and inMemory. I was not aware of anything requiring those storage engines to use EMRC=F, especially after PM-1244. geert.bosch, do ephemeralForTest and inMemory still require supporting EMRC=F? |
| Comment by Pavithra Vetriselvan [ 04/Jan/21 ] |
|
judah.schvimer lingzhi.deng Just to confirm, we're still expected to support EMRC=false for the ephemeralForTest/inMemory storage engines, right? The reason I ask is because my current implementation does not remove the "enableMajorityReadConcern" parameter and just errors if the user tries to set it to false. Internally, the global variable defaults to true. Later, if the user did not specify a storage engine, we use the data files to detect one. Since EMRC=true is now the default, we'll always uassert here if we're using a storage engine that requires EMRC=false. One solution is to record whether emrc=true was set by a user (i.e. the command line parameter is present). If so, and they're trying to use an incompatible storage engine, uassert as normal. If emrc=true because of the default value, change this value to false when using an incompatible storage engine. |
| Comment by Judah Schvimer [ 07/Dec/20 ] |
|
As part of this ticket we should also remove all testing of eMRC=F on the master branch. |