Further refinement of the canal protocol
Nobody has claimed this yet.
- Dominant language
- Go
- Stars
- 464
- Forks
- 313
- Avg merge
- 4d 7h
- Merged PRs (30d)
- 14
Description
Feature Request
Is your feature request related to a problem? Please describe:
The current canal protocol implementation only supports the replication of row-level changelogs. We would like to support a more complete canal protocol to improve its universality.
Describe the feature you'd like:
- Support more field in canal protocol (such as
Column.mysqlType) - Support transaction in canal protocol (
TransactionBeginandTransactionEndmessage), only need to support single table transaction now. - Add a canal demo consumer, used in the integration test to verify the protocol works as expected.
Teachability, Documentation, Adoption, Migration Strategy:
Canal proto: https://github.com/pingcap/ticdc/tree/master/proto
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start by reading the canal proto directory linked in the issue and identify how the existing row-level changelog messages are represented. The remaining checklist covers transaction begin/end messages for single-table transactions and a demo consumer for integration verification; done means both are supported and tested as described.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- go
- Domain
- data-engineering, distributed-systems
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 30/100