Truncate flushes memtables for all CFs causing timeouts
Hello, Truncate uses RPC timeout, which is in my case set to 10 seconds (I want even less) and it's not enough. I've seen in sources TODO for this case. What I found is that truncate starting flush for all memtables for all CFs, not only for a CF to be truncated. When there're a lot of CFs to be flushed, it takes time. Is it possible to flush only required CF for truncate, not all? This could improve truncate time. Best regards, Viktor
Re: Truncate flushes memtables for all CFs causing timeouts
Truncate uses RPC timeout, which is in my case set to 10 seconds (I want even less) and it's not enough. I've seen in sources TODO for this case. created https://issues.apache.org/jira/browse/CASSANDRA-4006 Is it possible to flush only required CF for truncate, not all? This could improve truncate time. see code comments here https://github.com/apache/cassandra/blob/trunk/src/java/org/apache/cassandra/db/ColumnFamilyStore.java#L1681 AFAIK truncate is not considered a regular operation. (All nodes must be online for example) Cheers - Aaron Morton Freelance Developer @aaronmorton http://www.thelastpickle.com On 7/03/2012, at 1:34 AM, Viktor Jevdokimov wrote: Hello, Truncate uses RPC timeout, which is in my case set to 10 seconds (I want even less) and it's not enough. I've seen in sources TODO for this case. What I found is that truncate starting flush for all memtables for all CFs, not only for a CF to be truncated. When there're a lot of CFs to be flushed, it takes time. Is it possible to flush only required CF for truncate, not all? This could improve truncate time. Best regards, Viktor
Re: Truncate flushes memtables for all CFs causing timeouts
Thank you. To sum up, to free up and discard a commit log - flush all. So higher timeout for truncate will/should work. 2012/3/6 aaron morton aa...@thelastpickle.com Truncate uses RPC timeout, which is in my case set to 10 seconds (I want even less) and it's not enough. I've seen in sources TODO for this case. created https://issues.apache.org/jira/browse/CASSANDRA-4006 Is it possible to flush only required CF for truncate, not all? This could improve truncate time. see code comments here https://github.com/apache/cassandra/blob/trunk/src/java/org/apache/cassandra/db/ColumnFamilyStore.java#L1681 AFAIK truncate is not considered a regular operation. (All nodes must be online for example) Cheers - Aaron Morton Freelance Developer @aaronmorton http://www.thelastpickle.com On 7/03/2012, at 1:34 AM, Viktor Jevdokimov wrote: Hello, Truncate uses RPC timeout, which is in my case set to 10 seconds (I want even less) and it's not enough. I've seen in sources TODO for this case. What I found is that truncate starting flush for all memtables for all CFs, not only for a CF to be truncated. When there're a lot of CFs to be flushed, it takes time. Is it possible to flush only required CF for truncate, not all? This could improve truncate time. Best regards, Viktor