Skip to content

get()/put() serialization #3962

Answered by eddyashton
divneil-intel asked this question in Q&A
Discussion options

You must be logged in to vote

@divneil-intel Yes, as @achamayou said in #3926:

Note that using get_globally_committed() in the context of a write transaction is dangerous and will potentially lead to a serializability break.

If you use get() and put() in the same transaction, then CCF will detect any conflicts with concurrently executing transactions (ie - those that have completed in the gap between this transaction selecting a read version and it completing), and automatically rerun the transaction (reading newer state). get_globally_committed() can be used to deliberately circumvent this flow to report only committed state, but reads of that committed state will not be treated as conflicts, so if they influence w…

Replies: 1 comment 2 replies

Comment options

You must be logged in to vote
2 replies
@divneil-intel
Comment options

@eddyashton
Comment options

Answer selected by divneil-intel
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Category
Q&A
Labels
None yet
2 participants