Maybe, something changes in cassandra 1.0.x for truncate mechanism, because in cassandra 0.8 truncate executes much faster on the same data
2012/5/17 Viktor Jevdokimov <viktor.jevdoki...@adform.com>: > 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