What did you do?
Enabled row-level checksum while testing a Kafka/Avro changefeed with TiCDC's new architecture.
- Enabled
tidb_enable_row_level_checksum=true on upstream TiDB before writing data.
- Created a changefeed with:
[filter]
rules = ["test.*"]
[integrity]
integrity-check-level = "correctness"
corruption-handle-level = "error"
Sink URI options:
protocol=avro
enable-tidb-extension=true
avro-decimal-handling-mode=string
avro-bigint-unsigned-handling-mode=string
avro-include-before-value=true
- write some data include update sql
What did you expect to see?
UPDATE should include the current-row checksum and previous-row checksum
What did you see instead?
- Avro messages contain
_tidb_row_level_checksum, _tidb_corrupted and _tidb_checksum_version when checksum is enabled.
- INSERT/UPDATE use the current-row checksum; DELETE with before-value enabled uses the previous-row checksum.
Versions of the cluster
Upstream TiDB cluster version (execute SELECT tidb_version(); in a MySQL client):
(paste TiDB cluster version here)
Upstream TiKV version (execute tikv-server --version):
(paste TiKV version here)
TiCDC version (execute cdc version):
(paste TiCDC version here)
What did you do?
Enabled row-level checksum while testing a Kafka/Avro changefeed with TiCDC's new architecture.
tidb_enable_row_level_checksum=trueon upstream TiDB before writing data.Sink URI options:
What did you expect to see?
UPDATE should include the current-row checksum and previous-row checksum
What did you see instead?
_tidb_row_level_checksum,_tidb_corruptedand_tidb_checksum_versionwhen checksum is enabled.Versions of the cluster
Upstream TiDB cluster version (execute
SELECT tidb_version();in a MySQL client):(paste TiDB cluster version here)Upstream TiKV version (execute
tikv-server --version):(paste TiKV version here)TiCDC version (execute
cdc version):(paste TiCDC version here)