You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cassandra.apache.org by "Aleksei Zotov (Jira)" <ji...@apache.org> on 2021/07/12 23:15:00 UTC

[jira] [Commented] (CASSANDRA-15210) Streaming with CDC does not honor cdc_enabled

    [ https://issues.apache.org/jira/browse/CASSANDRA-15210?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17379460#comment-17379460 ] 

Aleksei Zotov commented on CASSANDRA-15210:
-------------------------------------------

[~blerer]

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: https://issues.apache.org/jira/browse/CASSANDRA-15210
>             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
(v8.3.4#803005)

---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@cassandra.apache.org
For additional commands, e-mail: commits-help@cassandra.apache.org