Truncate flushes all memtables to free up commit logs, and that on all nodes. So this takes time. Discussed on this list not so long ago.
Watch for: https://issues.apache.org/jira/browse/CASSANDRA-3651 https://issues.apache.org/jira/browse/CASSANDRA-4006 Best regards / Pagarbiai Viktor Jevdokimov Senior Developer Email: viktor.jevdoki...@adform.com Phone: +370 5 212 3063 Fax: +370 5 261 0453 J. Jasinskio 16C, LT-01112 Vilnius, Lithuania Disclaimer: The information contained in this message and attachments is intended solely for the attention and use of the named addressee and may be confidential. If you are not the intended recipient, you are reminded that the information remains the property of the sender. You must not use, disclose, distribute, copy, print or rely on this e-mail. If you have received this message in error, please contact the sender immediately and irrevocably delete this message and any copies.> -----Original Message----- > From: ruslan usifov [mailto:ruslan.usi...@gmail.com] > Sent: Thursday, May 17, 2012 13:06 > To: user@cassandra.apache.org > Subject: Re: Exception when truncate > > Also i miss understand why on empty CF(no any SStable) truncate heavy > loads disk?? > > 2012/5/17 ruslan usifov <ruslan.usi...@gmail.com>: > > Hello > > > > I have follow situation on our test server: > > > > from cassandra-cli i try to use > > > > truncate purchase_history; > > > > 3 times i got: > > > > [default@township_6waves] truncate purchase_history; null > > UnavailableException() > > at > > org.apache.cassandra.thrift.Cassandra$truncate_result.read(Cassandra.j > > ava:20212) > > at > > org.apache.cassandra.thrift.Cassandra$Client.recv_truncate(Cassandra.j > > ava:1077) > > at > > org.apache.cassandra.thrift.Cassandra$Client.truncate(Cassandra.java:1 > > 052) > > at > > org.apache.cassandra.cli.CliClient.executeTruncate(CliClient.java:1445 > > ) > > at > > org.apache.cassandra.cli.CliClient.executeCLIStatement(CliClient.java: > > 272) > > at > > org.apache.cassandra.cli.CliMain.processStatementInteractive(CliMain.j > > ava:220) > > at org.apache.cassandra.cli.CliMain.main(CliMain.java:348) > > > > > > So this looks that truncate goes very slow and too long, than > > rpc_timeout_in_ms: 10000 (this can happens because we have very slow > > disck on test machine) > > > > But in in cassandra system log i see follow exception: > > > > > > ERROR [MutationStage:7022] 2012-05-17 12:19:14,356 > > AbstractCassandraDaemon.java (line 139) Fatal exception in thread > > Thread[MutationStage:7022,5,main] > > java.io.IOError: java.io.IOException: unable to mkdirs > > > /home/cassandra/1.0.0/data/township_6waves/snapshots/1337242754356- > pur > > chase_history > > at > > > org.apache.cassandra.db.ColumnFamilyStore.snapshotWithoutFlush(Column > F > > amilyStore.java:1433) > > at > > > org.apache.cassandra.db.ColumnFamilyStore.snapshot(ColumnFamilyStore.j > > ava:1462) > > at > > > org.apache.cassandra.db.ColumnFamilyStore.truncate(ColumnFamilyStore.j > > ava:1657) > > at > > > org.apache.cassandra.db.TruncateVerbHandler.doVerb(TruncateVerbHandle > r > > .java:50) > > at > > > org.apache.cassandra.net.MessageDeliveryTask.run(MessageDeliveryTask.j > > ava:59) > > at > > > java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecu > > tor.java:886) > > at > > java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor. > > java:908) > > at java.lang.Thread.run(Thread.java:662) > > Caused by: java.io.IOException: unable to mkdirs > > > /home/cassandra/1.0.0/data/township_6waves/snapshots/1337242754356- > pur > > chase_history > > at > > org.apache.cassandra.io.util.FileUtils.createDirectory(FileUtils.java: > > 140) > > at > > org.apache.cassandra.io.util.FileUtils.createDirectory(FileUtils.java: > > 131) > > at > > > org.apache.cassandra.db.ColumnFamilyStore.snapshotWithoutFlush(Column > F > > amilyStore.java:1409) > > ... 7 more > > > > > > Also i see that in snapshort dir already exists > > 1337242754356-purchase_history directory, so i think that snapshort > > names that generate cassandra not uniquely. > > > > PS: We use cassandra 1.0.10 on Ubuntu 10.0.4-LTS