cassandra-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Christopher J. Bottaro (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (CASSANDRA-4857) FileNotFoundException after create-drop-create keyspace
Date Thu, 09 Jan 2014 21:11:52 GMT

    [ https://issues.apache.org/jira/browse/CASSANDRA-4857?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13867061#comment-13867061
] 

Christopher J. Bottaro commented on CASSANDRA-4857:
---------------------------------------------------

Is this still an issue as of 1.2.10?

We have a multitenant application where each client has their own keyspace.  One of our most
used features is cloning one client to another client (for the purposes of testing).  This
cloning involves dropping the keyspace on the destination client and recreating it before
copying the data from the source client..

It gets hairy in that different clients can have tables that share a similar name, but the
schemas are different, hence truncating doesn't really work for us.

Is there a way we can ensure dropping a keyspace and recreating it will be safe?  Is there
a nodetool or cql command we can send to the cluster to say "Hey, lady... is this keyspace
done being deleted?"  Or better, block until it's really deleted and ready to be recreated...
:)

Or is it any safer to simply drop all the tables in a keyspace and recreate them, rather than
drop/recreate the keyspace itself?

> FileNotFoundException after create-drop-create keyspace
> -------------------------------------------------------
>
>                 Key: CASSANDRA-4857
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-4857
>             Project: Cassandra
>          Issue Type: Bug
>         Environment: Cassandra trunk (565c576)
>            Reporter: Tyler Patterson
>            Assignee: Pavel Yaskevich
>         Attachments: system.log
>
>
> {code}
>  INFO [CompactionExecutor:28] 2012-10-24 14:32:22,756 CompactionTask.java (line 116)
Compacting [SSTableReader(path='/var/lib/cassandra/data/Twissandra/Tweet/Twissandra-Tweet-ia-1-Data.db'),
SSTableReader(path='/var/lib/cassandra/data/Twissandra/Tweet/Twissandra-Tweet-ia-6-Data.db'),
SSTableReader(path='/var/lib/cassandra/data/Twissandra/Tweet/Twissandra-Tweet-ia-4-Data.db'),
SSTableReader(path='/var/lib/cassandra/data/Twissandra/Tweet/Twissandra-Tweet-ia-3-Data.db'),
SSTableReader(path='/var/lib/cassandra/data/Twissandra/Tweet/Twissandra-Tweet-ia-2-Data.db')]
> ERROR [CompactionExecutor:28] 2012-10-24 14:32:22,758 CassandraDaemon.java (line 132)
Exception in thread Thread[CompactionExecutor:28,1,main]
> java.lang.RuntimeException: java.io.FileNotFoundException: /var/lib/cassandra/data/Twissandra/Tweet/Twissandra-Tweet-ia-1-Data.db
(No such file or directory)
> 	at org.apache.cassandra.io.compress.CompressedRandomAccessReader.open(CompressedRandomAccessReader.java:51)
> 	at org.apache.cassandra.io.sstable.SSTableReader.openDataReader(SSTableReader.java:1094)
> 	at org.apache.cassandra.io.sstable.SSTableScanner.<init>(SSTableScanner.java:51)
> 	at org.apache.cassandra.io.sstable.SSTableReader.getDirectScanner(SSTableReader.java:937)
> 	at org.apache.cassandra.io.sstable.SSTableReader.getDirectScanner(SSTableReader.java:949)
> 	at org.apache.cassandra.db.compaction.AbstractCompactionStrategy.getScanners(AbstractCompactionStrategy.java:127)
> 	at org.apache.cassandra.db.compaction.AbstractCompactionStrategy.getScanners(AbstractCompactionStrategy.java:133)
> 	at org.apache.cassandra.db.compaction.CompactionTask.runWith(CompactionTask.java:128)
> 	at org.apache.cassandra.io.util.DiskAwareRunnable.runMayThrow(DiskAwareRunnable.java:48)
> 	at org.apache.cassandra.utils.WrappedRunnable.run(WrappedRunnable.java:28)
> 	at org.apache.cassandra.db.compaction.CompactionTask.execute(CompactionTask.java:69)
> 	at org.apache.cassandra.db.compaction.CompactionManager$BackgroundCompactionTask.run(CompactionManager.java:179)
> 	at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:439)
> 	at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)
> 	at java.util.concurrent.FutureTask.run(FutureTask.java:138)
> 	at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
> 	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
> 	at java.lang.Thread.run(Thread.java:680)
> Caused by: java.io.FileNotFoundException: /var/lib/cassandra/data/Twissandra/Tweet/Twissandra-Tweet-ia-1-Data.db
(No such file or directory)
> 	at java.io.RandomAccessFile.open(Native Method)
> 	at java.io.RandomAccessFile.<init>(RandomAccessFile.java:216)
> 	at org.apache.cassandra.io.util.RandomAccessReader.<init>(RandomAccessReader.java:64)
> 	at org.apache.cassandra.io.compress.CompressedRandomAccessReader.<init>(CompressedRandomAccessReader.java:70)
> 	at org.apache.cassandra.io.compress.CompressedRandomAccessReader.open(CompressedRandomAccessReader.java:47)
> 	... 17 more
> {code}
> This error has been happening consistently using a modified version of the twissandra
project. We have a script that loads in a bunch of tweet data. The error happens when I drop
the keyspace, then recreate it and the columnfamilies, and rerun the script to load the data
again.



--
This message was sent by Atlassian JIRA
(v6.1.5#6160)

Mime
View raw message