Cassandra にレコードを保存しているときに (保存されているレコードの半分)、ディスクがいっぱいで空き容量がない場合はどうなりますか? 例外がスローされる場合、その例外は何ですか?
2 番目のシナリオは、ディスクがいっぱいのときに新しいキースペースを作成するとどうなるかということです。例外がスローされる場合、その例外は何ですか?
Cassandra にレコードを保存しているときに (保存されているレコードの半分)、ディスクがいっぱいで空き容量がない場合はどうなりますか? 例外がスローされる場合、その例外は何ですか?
2 番目のシナリオは、ディスクがいっぱいのときに新しいキースペースを作成するとどうなるかということです。例外がスローされる場合、その例外は何ですか?
書き込み先のキースペースがresundable_writes=trueまたはfalse(trueがデフォルト)で作成されたかどうかによって異なります。
前者で、commitlogディスクがいっぱいの場合、commitlogへの書き込み中にIOExceptionがスローされ(ただし、応答の一部として返されることはありません)、要求はタイムアウトになります。
後者でデータディスクがいっぱいの場合は、正常に応答します。ただし、ディスクにフラッシュできないmemtableは、ノード全体のRAMが不足して終了するまで、サイズが大きくなり続けます。
2番目のシナリオでは、どのドライブがいっぱいであるかに応じて、commitlogに書き込もうとしたとき、または新しいスキーマをディスクにフラッシュしようとしたときに例外がスローされます。どちらの場合も、リクエストはタイムアウトになります。
今後のCassandra1.2(現在ベータ版)では、このようなケースの処理が改善されています。詳細については、 Cassandra1.2でのディスク障害の処理を参照してください。
ディスクがいっぱいになると、実行が停止します。実行を停止するたびに何度も試しました。したがって、クライアント API は接続拒否例外をスローします。