Hi all, I have a unit test framework for a Cassandra project that I'm working on. For every one of my test classes, I delete all of the data file, commit log, and saved cache locations, start an EmbeddedCassandraService, and populate a keyspace and tables from scratch.
Currently, the unit tests that run in my first test class work fine, but those in my second class die with this error: java.io.FileNotFoundException: /Users/clint/work/external-repos/cassandra2-hadoop2/target/cassandra/data/system/local/system-local-jb-5-Data.db (No such file or directory) This error happens immediately after I call EmbeddedCassandraService.start(); I turned on debugging and traced through the code, and I see this right before the error message: 14/04/30 11:22:47 DEBUG org.apache.cassandra.service.FileCacheService: Evicting cold readers for /Users/clint/work/external-repos/cassandra2-hadoop2/target/cassandra/data/system/local/system-local-jb-5-Data.db This seems to happen in a callback when a value (in this case, a file reader) is evicted from a Guava cache. I assume that the problem that I have is something like the following: - There is some kind of reading thread associated with target/cassandra/data/system/local/system-local-jb-5-Data.db - Even after I stop my EmbeddedCassandraService and blow away all of the data file, commit log, and saved cache locations from my first unit test, the information about the reader for the now-deleted data file still exists. - Later when this reference expires in the cache and Cassandra goes to notify the reader, the error occurs because the file no longer exists. Does anyone have any suggestions on how to deal with this? Best regards, Clint