Here is a newbie question for you that relates MVCC, compaction, and versioning.
I read that old versions of documents are cleaned up upon compaction. I read that every b-tree root will point to a consistent snapshot of the database. I read that there could be readers reading three different versions [of a document] at the same time [due to timing of reads vs writes]. So long as reader (i) is reading a document (r), if updates to the document introduce an effective change from r->s, if after 's' has been added the database were compacted, what would reader (i) see? Would document (r) be pulled out from under reader (i) or would the document remain until such time as the reader no longer refers to it? Bob
