[SERVER-12566] should we sometimes read from the non-private mmap? Created: 31/Jan/14 Updated: 19/Feb/15 Resolved: 19/Feb/15 |
|
| Status: | Closed |
| Project: | Core Server |
| Component/s: | Concurrency, Replication, Storage |
| Affects Version/s: | None |
| Fix Version/s: | None |
| Type: | New Feature | Priority: | Minor - P4 |
| Reporter: | Dwight Merriman | Assignee: | Dwight Merriman |
| Resolution: | Won't Fix | Votes: | 0 |
| Labels: | None | ||
| Remaining Estimate: | Not Specified | ||
| Time Spent: | Not Specified | ||
| Original Estimate: | Not Specified | ||
| Participants: |
| Description |
|
to not forget the thought...can we read from non-private mmap sometimes, while others are writing to the private view? (1) this might be clean on secondaries, as the semantics are eventually consistent reads. requiresi research though, in particular with respect to write concern acknowledgements. (2) perhaps on a primary it makes sense if a group commit is underway and we are in 'W', we could still query during most phases i.e., everything except during WRITETODATAFILES phase). (3) perhaps while building an index, others can still do queries with the non-private mmaps. index builds span group commits, but that would be ok if the indication of the index's existance is written in the final commit. |
| Comments |
| Comment by Eric Milkie [ 19/Feb/15 ] |
|
WiredTiger makes this less of an issue. |
| Comment by Dwight Merriman [ 12/Aug/14 ] |
|
on the one hand with pluggable storage engine api, this seems a little less appealing as doesn't generalize fully. that said could still be useful for existing engine when it's in use, so probably not worth eliminating as long as current storage engine exists may just be lower priority. also an alternative append-only storage engine where there is uncommitted partial writes at the end, that aren't read, is arguably analogous; further i wonder if this is a way to do read committed semantic? but that is tricky if our definition of committed is different e.g. cluster wide commits. |