[SERVER-34073] Allow creating transactions with readconcerns other than 'snapshot', upconvert to 'snapshot' Created: 22/Mar/18 Updated: 29/Oct/23 Resolved: 13/Apr/18 |
|
| Status: | Closed |
| Project: | Core Server |
| Component/s: | Replication |
| Affects Version/s: | None |
| Fix Version/s: | 3.7.4 |
| Type: | Task | Priority: | Major - P3 |
| Reporter: | Spencer Brody (Inactive) | Assignee: | Tess Avitabile (Inactive) |
| Resolution: | Fixed | Votes: | 0 |
| Labels: | None | ||
| Remaining Estimate: | Not Specified | ||
| Time Spent: | Not Specified | ||
| Original Estimate: | Not Specified | ||
| Issue Links: |
|
||||||||||||||||||||||||||||
| Backwards Compatibility: | Fully Compatible | ||||||||||||||||||||||||||||
| Sprint: | Repl 2018-04-09, Repl 2018-04-23 | ||||||||||||||||||||||||||||
| Participants: | |||||||||||||||||||||||||||||
| Description |
|
Transactions will be allowed with readConcern levels "snapshot", "majority", or "local". Levels "majority" and "local" will upconverted to "snapshot" and keep any other options such as "afterClusterTime". Levels "majority" and "local" with "afterOpTime" will not be allowed, since "afterOpTime" is internal and not exposed to end users, and thus not supported with level:'snapshot' |
| Comments |
| Comment by Githook User [ 13/Apr/18 ] |
|
Author: {'email': 'tess.avitabile@mongodb.com', 'name': 'Tess Avitabile', 'username': 'tessavitabile'}Message: |
| Comment by Gregory McKeon (Inactive) [ 12/Apr/18 ] |
|
shane.harvey marking this drivers changes needed so you know when it lands. |
| Comment by Tess Avitabile (Inactive) [ 27/Mar/18 ] |
|
Yes |
| Comment by Siyuan Zhou [ 27/Mar/18 ] |
|
If the read concern is omitted, do we default it to "local" and then upconvert it to "snapshot"? CC max.hirschhorn. |
| Comment by Tess Avitabile (Inactive) [ 27/Mar/18 ] |
|
Marking this as dependent on |
| Comment by Andy Schwerin [ 26/Mar/18 ] |
|
I'd let you upconvert "local" and "majority". I'd consider letting you upconvert "available", but let's leave that for the future. I doubt anyone will ask for a transaction at read concern "available". |
| Comment by Spencer Brody (Inactive) [ 26/Mar/18 ] |
|
I think local and majority should be upconverted. Linearizable should be forbidden within a transaction. Not sure about 'available' - schwerin? We also will need to support afterClusterTime with readConcern snapshot (but probably don't need to support afterOpTime, which shouldn't be used anywhere except within sharding on the config servers) |
| Comment by Tess Avitabile (Inactive) [ 26/Mar/18 ] |
|
spencer, schwerin, what readConcerns should we allow you to upconvert to snapshot? For example, I assume we don't want to upconvert linearizable to snapshot. And we currently do not allow afterOpTime to be used with snapshot. |