【发布时间】:2017-01-22 02:25:43
【问题描述】:
我现在正在对将数据保存到 cassandra 的 API 端点执行负载测试。一般来说,它运行良好,但是当我执行异步插入操作时,我在错误回调中收到以下消息:
ERROR:root:Query '<BatchStatement type=UNLOGGED, statements=382, consistency=ONE>' failed: errors={}, last_host=XXXXX
我通过以下方式执行批量插入:
query_template = self.query_template(table, columns, values, ttl, insertion_timestamp)
statement = self.session.prepare(query_template)
statement.consistency_level = self.write_consistency_level
batch = BatchStatement(batch_type=BatchType.UNLOGGED, retry_policy=RetryPolicy.RETRY,
consistency_level=self.write_consistency_level)
for elem in list_of_dictionary:
values = [elem[key] for key in field_list]
batch.add(statement, values)
if async:
future = self.session.execute_async(batch, values)
future.add_errback(error_handler, batch)
else:
self.session.execute(batch, values)
使用错误回调处理程序:
def default_error_handler(exc, batch):
"""
Default callback function that is triggered when the cassandra async operation failed
:param exception:
"""
logging.error("Query '%s' failed: %s", batch, exc)
有人知道吗?
【问题讨论】: