Details
-
Bug
-
Status: In Progress
-
Normal
-
Resolution: Unresolved
-
None
-
Correctness - API / Semantic Implementation
-
Normal
-
Normal
-
User Report
-
All
-
None
-
Description
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
- hasCDC = cfs.metadata.params.cdc; + hasCDC = cfs.metadata.params.cdc && DatabaseDescriptor.isCDCEnabled();
in
org.apache.cassandra.db.streaming.CassandraStreamReceiver (4)
org.apache.cassandra.streaming.StreamReceiveTask (3.11)