Skip to content

session: switch to pessimistic txn mode for autocommit statement retry. (#18952)#19796

Merged
ti-srebot merged 3 commits intopingcap:release-4.0from
ti-srebot:release-4.0-75d58d58e88c
Sep 4, 2020
Merged

session: switch to pessimistic txn mode for autocommit statement retry. (#18952)#19796
ti-srebot merged 3 commits intopingcap:release-4.0from
ti-srebot:release-4.0-75d58d58e88c

Conversation

@ti-srebot
Copy link
Contributor

cherry-pick #18952 to release-4.0


What problem does this PR solve?

Optimize high conflicting autocommit DML.

What is changed and how it works?

Autocommit statements always use optimistic transaction mode, but when the conflict rate is high (zipfian distribution), it may retry too many times.

Switch to pessimistic transaction mode for retry can reduce retry cost.

Check List

Tests

  • Manual test (add detailed scripts or steps below)

benchmark ycsb zipfian workload and compare the result.
There is no error anymore and the performance increased more than 200%.

Release note

  • switch to pessimistic txn mode for autocommit statement retry

Signed-off-by: ti-srebot <ti-srebot@pingcap.com>
@ti-srebot
Copy link
Contributor Author

/run-all-tests

@coocood
Copy link
Member

coocood commented Sep 4, 2020

LGTM

@ti-srebot ti-srebot added the status/LGT1 Indicates that a PR has LGTM 1. label Sep 4, 2020
@ti-srebot ti-srebot added status/LGT2 Indicates that a PR has LGTM 2. and removed status/LGT1 Indicates that a PR has LGTM 1. labels Sep 4, 2020
@lilinghai
Copy link
Contributor

/run-all-tests

@zz-jason
Copy link
Member

zz-jason commented Sep 4, 2020

/merge

@ti-srebot ti-srebot added the status/can-merge Indicates a PR has been approved by a committer. label Sep 4, 2020
@ti-srebot
Copy link
Contributor Author

Your auto merge job has been accepted, waiting for:

  • 17924
  • 19800

@ti-srebot
Copy link
Contributor Author

/run-all-tests

@ti-srebot ti-srebot merged commit 08a6c86 into pingcap:release-4.0 Sep 4, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

component/session sig/transaction SIG:Transaction status/can-merge Indicates a PR has been approved by a committer. status/LGT2 Indicates that a PR has LGTM 2. type/4.0-cherry-pick

Projects

None yet

Development

Successfully merging this pull request may close these issues.

6 participants