[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.

Generated at Thu Feb 08 03:28:53 UTC 2024 using Jira 9.7.1#970001-sha1:2222b88b221c4928ef0de3161136cc90c8356a66.