tikv/sig-transaction

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 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.
  • Handle non-tso read_ts. Discussed here: #21

cc @sticnarf @youjiali1995

nrc commented

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.

nrc commented

@sticnarf reports all listed items are done.