我需要了解是否/如何調用MutationBatch.execute()對運行代碼的服務器是否安全下來。astyanax突變批次失敗處理
看看下面的代碼(從Astyanax例子複製)。我打算使用此代碼修改2個不同列家族中的2行。我需要確保(100%)如果執行此代碼的服務器在執行期間的任何時間點崩潰/失敗: - Cassandra數據存儲中沒有任何更改 - 全部更改(2行)應用於Cassandra數據存儲
我特別關注「OperationResult result = m.execute();」這行。我會假設這轉換成如下形式:將所有修改寫入Cassandra中的提交日誌,然後以原子方式觸發Cassandra內部執行的更改(以及Cassandra保證在某個服務器上執行)。
任何幫助,這是非常讚賞。
謝謝, Sven。
CODE:
MutationBatch m = keyspace.prepareMutationBatch();
long rowKey = 1234;
// Setting columns in a standard column
m.withRow(CF_STANDARD1, rowKey)
.putColumn("Column1", "X", null)
.putColumn("Column2", "X", null);
m.withRow(CF_STANDARD1, rowKey2)
.putColumn("Column1", "Y", null);
try {
OperationResult<Void> result = m.execute();
} catch (ConnectionException e) {
LOG.error(e);
}
我們有一批原子現在突變自卡桑德拉1.2?這是否仍然成立? – Peter 2013-12-08 09:58:01