There is a truncate() function that will clear a CF. It may leave a snapshot around, cannot remember exactly. 

Or you could drop and recreate the keyspace between tests using system_add_keyspace() and system_drop_keyspace(). The system tests in the test/system/__init__.py sort of do this. 

Aaron

On 21 Jan, 2011,at 03:16 PM, Roshan Dawrani <roshandawr...@gmail.com> wrote:

On Fri, Jan 21, 2011 at 3:02 AM, Aaron Morton <aa...@thelastpickle.com> wrote:
Do you have a full error stack?

That error is raised when the schema is added to an internal static map. There is a lot of static state so it's probably going to make your life easier if you can avoid reusing the JVM.


Hi Aaron,

Actually it is not my primary requirement to start the Embedded server twice in the same JVM. The requirement is to have the empty column families before each test so that changes made in tests do not affect each other.

Keeping a single instance of the embedded server up across test phases, what would be the most efficient way to clean-up the CFs between tests?

I have around 10 CFs and not too much data is generated in each test, so right now, I collect all keys from CFs and then fire a batch query to delete them.

Can I improve on that clean-up process between tests?

Im guessing your errors comes from AbstractCassandraDaemon.setup() calling DatabaseDescriptor.loadSchemas() .

I start the embedded server using EmbeddedServerHelper@setup(). I am not directly dealing with AbstractCassandraDaemon.setup(). I guess that all happens inside EmbeddedServerHelper.

Reply via email to