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

Reply via email to