Details
-
Bug
-
Status: Resolved
-
Low
-
Resolution: Fixed
-
None
-
Low
Description
The code for calculating cdc_total_space_in_mb in DatabaseDescriptor.java does not reflect the latest architecture introduced by CASSANDRA-12148.
In short, cdc_total_space_in_mb should be equal or greater than commitlog_total_space_in_mb; otherwise, the writes will fail when on-disk commit logs size reaches the value of cdc_total_space_in_mb. For example, If cdc_total_space_in_mb is 4096 and commitlog_total_space_in_mb is 8192, when we enabled the cdc_enabled flag (even if we didn't enable cdc=true on any table), when total size of commit logs reaches 4096 MB, there is the same of amount of hard links in cdc_raw directory, that is, 4096 MB of cdc logs. Then, if a table has cdc=true, the writes will fail in that table because the CommitLogSegmentManagerCDC will be unable to process new CDC segments. (See allocate and processNewSegment in CommitLogSegmentManagerCDC class)
I will attach patches later.
Attachments
Issue Links
- is superceded by
-
CASSANDRA-15688 Invalid cdc_raw_directory prevents server startup
- Resolved