ここにリストされているものと非常によく似た問題があります。
単体テスト後に埋め込まれたcassandraをクリーンアップするには?
つまり、いくつかの統合テストを実行するために Cassandra を起動していますが、テスト クラスを実行すると、Cassandra によって生成された CommitLog ファイルを削除できないため、テスト クラスは失敗します。
そこにある回答の提案に従っています。これは、起動時にクリーンアップを実行することですが、その時点ではまだファイルを削除できません(コードをデバッグすると、その時点でファイルを削除することもできませんコマンドラインまたは GUI)。その結果、最初のテスト クラスは成功しましたが、その後のテスト クラスはすべて失敗しました。
詳細:
- 私の同僚は OSX で実行していて、この問題はありません。私はWindows 7を使用しています。
- 私は DOS と Cygwin で、また Eclipse でテストを実行してみました。いずれの場合も、ローカル ユーザーと管理者の両方として実行しました。
- Process Explorer を使用して、単一の Java プロセス以外に問題のファイルを処理しているものがないことを確認しました。
- ファイルを削除できない java.io.Win32FileSystem のネイティブ コールまでコードをデバッグしました。
Cassandra が CommitLog ファイルをシャットダウンまたは削除したことを確認するためにできることはありますか?
ありがとう!