Hi dev@,

In reading up on docs around transaction isolation, there seems to be
a caveat about a process cache permitting uncommitted reads:

http://geode.docs.pivotal.io/docs/developing/transactions/transaction_semantics.html

"Geode isolates transactions at the process thread level, so while a
transaction is in progress, its changes are visible only inside the
thread that is running the transaction. Threads inside the same
process and in other processes cannot see changes until after the
commit operation begins. At this point the changes are visible in the
cache, but other threads that access the changing data might see only
partial results of the transaction."

Yet, in Swapnil's presentation on Geode Transactions (see slide 7 -
http://www.slideshare.net/SwapnilBawaskar/geode-transactions-53615080),
it mentions that reads within a separate transaction on the same
process should be safe.  Non-atomic reads may be unsafe if another
thread in that process is issuing an update.

So, if you do all of your reads within a transaction, you will not see
partial commits from another transaction in the same process?

Should the docs be updated?  I'm happy to submit a PR if we can get
clarity around what the behavior is or should be.

Cheers.  -- justin

Reply via email to