我遇到了一个与此处列出的问题非常相似的问题:
简而言之,我正在启动 Cassandra 来运行一些集成测试,但是当我的测试类运行时它们会失败,因为它们无法删除 Cassandra 生成的 CommitLog 文件。
我正在遵循那里给出的答案中的建议,即在启动时执行清理,但当时仍然无法删除文件(如果我通过代码进行调试,我当时也无法通过命令行或 GUI)。结果是我的第一个测试类通过了,但所有后续测试类都失败了。
更多详细信息:
- 我的同事在 OSX 上运行,没有这个问题;我在 Windows 7 上。
- 我已经尝试在 DOS 和 Cygwin 下以及通过 Eclipse 运行测试,在所有情况下都以我的本地用户和管理员身份运行。
- 我已经使用 Process Explorer 来确认除了单个 Java 进程之外没有任何东西可以处理相关文件。
- 我已经通过代码调试到 java.io.Win32FileSystem 中的本机调用,它无法删除文件。
我可以做些什么来确保 Cassandra 已关闭和/或删除其 CommitLog 文件?
谢谢!