in java/core/src/main/java/com/aliyun/openservices/tablestore/agent/util/TablestoreHelper.java [576:594]
public static void batchWrite(SyncClient client, List<RowChange> rowChanges) {
BatchWriteRowRequest batchWriteRowRequest = new BatchWriteRowRequest();
for (RowChange rowChange : rowChanges) {
batchWriteRowRequest.addRowChange(rowChange);
}
List<String> errorDetails = new ArrayList<>();
try {
BatchWriteRowResponse batchWriteRowResponse = client.batchWriteRow(batchWriteRowRequest);
if (!batchWriteRowResponse.isAllSucceed()) {
for (BatchWriteRowResponse.RowResult rowResult : batchWriteRowResponse.getFailedRows()) {
PrimaryKey primaryKey = batchWriteRowRequest.getRowChange(rowResult.getTableName(), rowResult.getIndex()).getPrimaryKey();
errorDetails.add(String.format("failed pk:[%s], failed msg:[%s]", primaryKey.jsonize(), rowResult.getError().getMessage()));
}
throw Exceptions.runtime(String.format("batch write failed, error details:%s", errorDetails));
}
} catch (Exception e) {
throw Exceptions.runtimeThrowable("batch write failed", e);
}
}