TiCDC use with TiKV?

I am looking at using TiCDC with TiKV to replicate to Redpanda (Kafka) cluster, but see this unsupported use case: TiCDC Overview | PingCAP Docs

  • The TiKV cluster that uses RawKV alone.

I am not sure I understand what this means. Does this mean that RawKV operations will be ignored in the CDC, and I must always use a transaction?

If you have another TiKV client except TiDB uses the RawKV API to operate TiKV, then you can’t use TiCDC to replicate data.

So if you want to use TiCDC, you can only use transaction API to operate TiKV.

If TiKV cluster is only used by TiDB, you can safely use TiCDC to replicate data.

But what is the behavior? Will TiCDC ignore those changes, or will TiCDC cease to continue working if RawKV is accessed?

If the KV specific CDC had general sink support (like HTTP) this wouldn’t be an issue, but I would like to get changefeeds into some Go containers to listen for certain changes if possible, and mocking MySQL + TiCDC seems to be the current easiest way to do that.

Using TiCDC with TiKV that uses RawKV may cause TiCDC or TiKV crash.

Got it, thanks. Might be a good specification to add to the docs!