Problems about usage of `max_read_ts`
Closed this issue · 4 comments
We have done much work about updating and making use of max_read_ts
in this PR: tikv/tikv#8363 . But there are still much work to do to make it perfectly correct.
We need to:
- Update
max_read_ts
by CDC correctly (#42) - Find if it's necessary to keep a
max_read_ts
for every single region. - Optimizations (Some possible ideas about optimizations can be found here)
- Requests that performs or potentially performs protected rollback operations (like
rollback
,cleanup
,check_txn_status
,check_secondary_locks
, etc) need to updatemax_read_ts
with itsstart_ts
. Perhaps the namemax_read_ts
is not perfectly accurate. This is required to guarantee the correctness of the current way of handling non-globally-uniquecommit_ts
. - Handle non-tso
read_ts
. Discussed here: #21
Requests that performs or potentially performs protected rollback operations (like rollback, cleanup, check_txn_status, check_secondary_locks, etc) need to update max_read_ts with its start_ts. Perhaps the name max_read_ts is not perfectly accurate. This is required to guarantee the correctness of the current way of handling non-globally-unique commit_ts.
We should verify that this has been implemented
Requests that performs or potentially performs protected rollback operations (like rollback, cleanup, check_txn_status, check_secondary_locks, etc) need to update max_read_ts with its start_ts. Perhaps the name max_read_ts is not perfectly accurate. This is required to guarantee the correctness of the current way of handling non-globally-unique commit_ts.
We should verify that this has been implemented
Not yet. I will do it.
Yesterday I talked with @MyonKeminta about updating max ts on protected rollbacks, but didn't find whether it's really necessary. Anyway, we can add that for insurance.