cassandra-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Aleksei Zotov (Jira)" <>
Subject [jira] [Commented] (CASSANDRA-15210) Streaming with CDC does not honor cdc_enabled
Date Mon, 12 Jul 2021 23:15:00 GMT


Aleksei Zotov commented on CASSANDRA-15210:


I briefly read about CDC feature in Cassandra and this ticket makes sense to me. As per my
understanding, non-CDC node should not care about CDC tables and enforce writing corresponding
mutations to commit log. The patch also looks good to me. Two questions to you:
 # Despite the problem exists, it does not affect anything rather than performance (with unnecessary
writing to commit log for CDC table on non-CDC nodes). I feel it is not so critical to make
it mandatory for 4.0 release. WDYT?
 # Even though the patch looks good, there are no unit tests for the change. Moreover, currently
the affected class is not covered by tests. I trier to find a simple reference test, but looks
like streaming tests are quite complicated.  Do we need to have a test developed to get these
changes merged? Even though it is 1 line patch, my belief that having a test is mandatory.
Could you please share a reference test that can be used to cover CDC functionality in {{CassandraStreamReceiver}}?


> Streaming with CDC does not honor cdc_enabled
> ---------------------------------------------
>                 Key: CASSANDRA-15210
>                 URL:
>             Project: Cassandra
>          Issue Type: Bug
>          Components: Consistency/Streaming, Feature/Change Data Capture
>            Reporter: Andrew Prudhomme
>            Assignee: Andrew Prudhomme
>            Priority: Normal
> When SSTables are streamed for a CDC enabled table, the updates are processed through
the write path to ensure they are made available through the commit log. However, currently
only the CDC state of the table is checked. Since CDC is enabled at both the node and table
level, a node with CDC disabled (with cdc_enabled: false) will unnecessarily send updates
through the write path if CDC is enabled on the table. This seems like an oversight.
> I'd imagine the fix would be something like
> {code:java}
> -   hasCDC = cfs.metadata.params.cdc;
> +   hasCDC = cfs.metadata.params.cdc && DatabaseDescriptor.isCDCEnabled();{code}
> in
> org.apache.cassandra.db.streaming.CassandraStreamReceiver (4)
> org.apache.cassandra.streaming.StreamReceiveTask (3.11)

This message was sent by Atlassian Jira

To unsubscribe, e-mail:
For additional commands, e-mail:

View raw message