https://learn.microsoft.com/en-us/azure/cosmos-db/consistency-levels#session-consistency
The Cosmos DB documentation example on session consistency states:
Whereas the "Australia East" region is using "Session B" so, it receives data later but in the same order as the writes.
In the example there is a single writer writing in session A, and a reader reading in session B in another region. The quote implies that there is some sort of ordering guarantee for the session B reader? Based on the answer given in a previous question, I would have assumed to see eventual consistency for the session B reader, i.e. the writes may end up being read in an incorrect order. Which is correct?
Continuing with the same example, does the session consistency level include the consistent prefix guarantee? Is the session B reader guaranteed to see consistent prefix reads? I believe one can explicitly set a read request to use a lower consistency level, so I should be able to get consistent prefix guarantees outside of a session at least by explicitly requesting it, if it isn't included by default?
According to the answer I got from Microsoft Q & A, there is indeed no guarantee that the session B reader would read the writes made by the Session A writer in the correct order, i.e. works like eventual consistency.
Also the session consistency level does not include the consistent prefix guarantee (outside of the session). However assuming you are doing reads via the SDK, you could indeed explicitly request consistent prefix guarantees for each of the read requests you are making as the "session" B reader. Naturally you would lose any session related functionality when doing it.