Skip to content
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

txn:make transaction amend fully compatible with binlog #20996

Open
cfzjywxk opened this issue Nov 11, 2020 · 0 comments
Open

txn:make transaction amend fully compatible with binlog #20996

cfzjywxk opened this issue Nov 11, 2020 · 0 comments
Labels
type/feature-request This is a feature requests on the product

Comments

@cfzjywxk
Copy link
Contributor

Feature Request

Is your feature request related to a problem? Please describe:

The transaction amend introduces some changes such as:

without amend:   schemaVerTS < startTS < commitTS
with amend:      startTS < schemaVerTS < amendTS < commitTS

The commitTS is NOT guanranteed to be greater than the latest valid schema version, which means the amended transaction may commit after the concurrent DDLs but using a previous schema version.

The Binlog will replay the SQLs according to the transaction commitTS, now the binlog may replay a transaction committed using latest schema version while the transaction content is generated using the older schema version, which may change the effect of replayed SQLs thus causing inconsistency bettwen upstream and downstream.

There are some known issues listed below:
#20909 Amend on the add unique index DDL will confuse the Binlog drainer doing replay.
#20773 Amend on the add column DDL will make drainer failure doing decode.It's being solved.

Describe the feature you'd like:

Try to make the amended transaction fully compatible with Binlog, we may need to change the transaction content or replay mode in Binlog to process the amended transaction properly.

Describe alternatives you've considered:

  • Make the amenede transaction memory buffer compatible with the latest schema version.
  • Add support for amended transaction replay in Binlog.

Teachability, Documentation, Adoption, Migration Strategy:

@cfzjywxk cfzjywxk added the type/feature-request This is a feature requests on the product label Nov 11, 2020
@github-actions github-actions bot added this to Need Triage in Feature Request Kanban Nov 11, 2020
@cfzjywxk cfzjywxk changed the title make transaction amend fully compatible with binlog txn: make transaction amend fully compatible with binlog Nov 16, 2020
@cfzjywxk cfzjywxk changed the title txn: make transaction amend fully compatible with binlog txn:make transaction amend fully compatible with binlog Nov 16, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
type/feature-request This is a feature requests on the product
Projects
Feature Request Kanban
  
Need Triage
Development

No branches or pull requests

1 participant