如何在单元测试中使用Cassandra清理CommitLog文件

时间:2012-04-11 12:47:22

标签: unit-testing cassandra hector

我遇到的问题与此处列出的问题非常相似:

How to cleanup embedded cassandra after unittest?

简而言之,我正在启动Cassandra来运行一些集成测试,但是当我的测试类运行时,它们会因为无法删除Cassandra生成的CommitLog文件而失败。

我正在遵循那里给出的答案中的建议,这些建议是在启动时执行清理,但当时文件仍然无法删除(如果我通过代码调试,我也无法删除文件那个时候通过命令行或GUI)。结果是我的第一个测试类通过,但所有后续测试都失败了。

进一步详情:

  • 我的同事正在OSX上运行并且没有这个问题;我在Windows 7上。
  • 我尝试在DOS和Cygwin下以及通过Eclipse运行测试,在所有情况下都作为我的本地用户和管理员。
  • 我使用了Process Explorer来确认除了单个Java进程之外没有任何东西可以处理有问题的文件。
  • 我已经通过代码调试到java.io.Win32FileSystem中的本机调用,该调用无法删除该文件。

我能做些什么来确保Cassandra关闭和/或删除其CommitLog文件?

谢谢!

0 个答案:

没有答案