-
Notifications
You must be signed in to change notification settings - Fork 489
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Add "START TRANSACTION WITH CAUSAL CONSISTENCY ONLY" #1162
Add "START TRANSACTION WITH CAUSAL CONSISTENCY ONLY" #1162
Conversation
Signed-off-by: ekexium <[email protected]>
if external consistency (> strict serializability) is the default and is here considered orthogonal to RU/RC/RR stuff, what happens if i do START TRANSACTION /* WITH EXTERNAL CONSISTENCY */;
SET TRANSACTION ISOLATION LEVEL READ COMMITTED;
... ? |
@kennytm External consistency doesn't mean strict serializability. It is orthogonal to isolation levels. So I think it should not interfere with Read Committed. TiDB used to guarantee external consistency. The new feature async commit can break it (for better performance), so we need a new grammar to control the behavior. |
@kennytm Right... External consistency can be an ambiguous word. |
So to clarify, is "external consistency" here the same concept as the one mentioned in https://cloud.google.com/spanner/docs/true-time-external-consistency and https://stackoverflow.com/questions/60365103/differences-between-strict-serializable-and-external-consistency (which both claimed it is stronger than linearizability + serializability) |
No, the "external consistency" here is roughly the same with linearizability. It has nothing to do with serializability. |
Signed-off-by: ekexium <[email protected]>
…kexium/parser into add-start-without-external-consistency
Signed-off-by: ekexium <[email protected]>
Signed-off-by: ekexium <[email protected]>
/lgtm |
/merge |
/run-all-tests |
@ekexium merge failed. |
/merge |
/run-all-tests |
@ekexium merge failed. |
* add a start transaction without external consistency statement Signed-off-by: ekexium <[email protected]> * change the grammar to 'with causal consistency' Signed-off-by: ekexium <[email protected]> * rename WithoutExternalConsistency to CausalConsistency Signed-off-by: ekexium <[email protected]> * change syntax to 'start transaction with causal consistency only' Signed-off-by: ekexium <[email protected]> Co-authored-by: ti-srebot <[email protected]>
Signed-off-by: ekexium [email protected]
What problem does this PR solve?
See pingcap/tidb#22597
What is changed and how it works?
Check List
Tests
Code changes
Side effects
Related changes