We should update this page:
to reflect the question posed here if the observed behavior is true:
That is, if we consider the write fully committed only after it hits the journal, when j=true, then we should warn that another reader may see the write before it is fully committed. In the event of a failure and rollback, later readers may not see the write.
This problem may also affect w=majority writes. In general, we want to guarantee the behavior that once a majority of members have seen the write, it is durable, even across the loss the primary. The problem is, if a majority of replica set nodes don't ack the write, and it's rolled back, someone on the primary may have already seen it.
Essentially, we run READ_UNCOMMITTED. We should document this fact to avoid user confusion.