Commit Graph

8 Commits

Author SHA1 Message Date
ekexium 89ac804705
Fix several bugs in pessimistic transaction (#218)
* enable pessimistic_lock req to return values

Signed-off-by: ekexium <ekexium@gmail.com>

* refactor Mutation: Lock should be able to cache values

Signed-off-by: ekexium <ekexium@gmail.com>

* fix: read and lock operations should not override each other

Signed-off-by: ekexium <ekexium@gmail.com>

* rewrite get_for_update: make semantics similar to TiDB

Signed-off-by: ekexium <ekexium@gmail.com>

* fix: correctly set for_update_ts for pessimistic rollback request

Signed-off-by: ekexium <ekexium@gmail.com>

* fix: allow update_cache to 'update' existing keys, but check the values

Signed-off-by: ekexium <ekexium@gmail.com>

* test: add test for pessimistic rollback

Signed-off-by: ekexium <ekexium@gmail.com>

* doc: add some doc for get_for_update

Signed-off-by: ekexium <ekexium@gmail.com>

* fix: make batch_for_update private

Signed-off-by: ekexium <ekexium@gmail.com>

* resolve comments

Signed-off-by: ekexium <ekexium@gmail.com>

* ci: sleep a while to wait for PD

Signed-off-by: ekexium <ekexium@gmail.com>

* feat: lock_keys is available for both optimistic and pessimistic txns

Signed-off-by: ekexium <ekexium@gmail.com>

* refactor: rename ReadLockCached to CachedAndLocked

Signed-off-by: ekexium <ekexium@gmail.com>

* revert changes to `batch_get_for_update`

Signed-off-by: ekexium <ekexium@gmail.com>

* test: ignore unstable mock-tikv test

Signed-off-by: ekexium <ekexium@gmail.com>

* refactor: rename `ReadLockCached` to `Locked`

Signed-off-by: ekexium <ekexium@gmail.com>

* test: do not use Fallible

Signed-off-by: ekexium <ekexium@gmail.com>

* doc: update readme format

Signed-off-by: ekexium <ekexium@gmail.com>

Co-authored-by: Nick Cameron <nrc@ncameron.org>
2021-01-14 16:56:28 +08:00
Andy Lok 1857ed2f83 Resturcture take2
Signed-off-by: Andy Lok <andylokandy@hotmail.com>
2020-11-23 21:48:41 +08:00
Nick Cameron 89bf4c6c53 Use pub exports of common types
Signed-off-by: Nick Cameron <nrc@ncameron.org>
2020-10-29 10:24:23 +13:00
George Teo ad8ef075af
Add codec for encoding region for transaction client (#162)
Add codec for encoding region for transaction client. Fix some other bugs.

Signed-off-by: George Teo <george.c.teo@gmail.com>
Co-authored-by: ekexium <ekexium@gmail.com>
2020-09-29 14:05:39 +08:00
ekexium 194acb633c mock tikv: remove unnecessary clones; delete requests won't return errors
Signed-off-by: ekexium <ekexium@gmail.com>
2020-09-14 14:33:06 +08:00
ekexium 1bf9374939 mock tikv: distinguish between empty value and non-exsit keys; same behavior with TiKV
Signed-off-by: ekexium <ekexium@gmail.com>
2020-09-14 12:17:24 +08:00
ekexium ca017b1bb7 change semantics of raw_batch_delete; iterate once
Signed-off-by: ekexium <ekexium@gmail.com>
2020-09-11 14:41:49 +08:00
ekexium 26e1a566e3 add a mock PD
Signed-off-by: ekexium <ekexium@gmail.com>
2020-09-09 15:21:15 +08:00