0
LevelDB Documentationでは、書き込みバッチが複数の操作にアトミック性を提供できることが述べられています。それでも、書き込みバッチの実行中にアプリケーションがクラッシュした場合にどうなるかを知りたいだけです。すべての変更をロールバックするのか、それとも部分的に変更をコミットするのでしょうか?LevelDBバッチの実行中にアプリケーションがクラッシュするとどうなりますか?
バッチが実行を完了するまでに時間がかかるようなシナリオを参照しています。オール・オア・ナッシングのいずれかがディスク上に終わることを保証WriteBatch
WriteBatch batch = db.createWriteBatch();
for(int i=0;i<10000000;i++){
batch.put(("key "+Integer.toString(i)).getBytes(),("value "+Integer.toString(i)).getBytes());
}
System.out.println("Batch Filled");
db.write(batch); //takes around 5s -- what if system crashes here??