[ 
https://issues.apache.org/jira/browse/CASSANDRA-14570?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Shichao An updated CASSANDRA-14570:
-----------------------------------
    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.

  was:
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 the 
CommitLogSegmentManagerCDC will be unable to process new CL segments. (See 
CommitLogSegmentManagerCDC.processNewSegment method)

 

I will attach patches later.


> Improper default value of cdc_total_space_in_mb
> -----------------------------------------------
>
>                 Key: CASSANDRA-14570
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-14570
>             Project: Cassandra
>          Issue Type: Bug
>          Components: Configuration
>            Reporter: Shichao An
>            Assignee: Shichao An
>            Priority: Minor
>              Labels: CDC
>
> 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.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to