即使在 NoHostAvailableException 之后创建的文档
Document created even after NoHostAvailableException
我正在尝试与 Java 的 ExecutorService 并行执行多个 BatchSatement。我想知道我的查询是否执行成功
我经历过:
意思是如果没有异常,就可以认为成功了。但是我得到了 NoHostAvailableException。
All host(s) tried for query failed (tried: *********************(com.datastax.driver.core.exceptions.OperationTimedOutException: [******************] Timed out waiting for server response))
但我可以在 Cassandra 中看到我的数据。我想知道如何知道我的文档是否在 Cassandra 中成功创建。有什么办法吗?
与关系数据库相比,Cassandra 中的批处理有所不同。它们应该只用于 limited number of the use cases, and they shouldn't be used for batching of inserts/updates to multiple partions, until it's really necessary (see "misuse of batches" doc).
批处理最终将被重播,即使您将错误返回给驱动程序 - 发生这种情况是因为批处理在执行之前被复制到其他节点。有关详细信息,请参阅 following diagram。
我正在尝试与 Java 的 ExecutorService 并行执行多个 BatchSatement。我想知道我的查询是否执行成功
我经历过:
意思是如果没有异常,就可以认为成功了。但是我得到了 NoHostAvailableException。
All host(s) tried for query failed (tried: *********************(com.datastax.driver.core.exceptions.OperationTimedOutException: [******************] Timed out waiting for server response))
但我可以在 Cassandra 中看到我的数据。我想知道如何知道我的文档是否在 Cassandra 中成功创建。有什么办法吗?
与关系数据库相比,Cassandra 中的批处理有所不同。它们应该只用于 limited number of the use cases, and they shouldn't be used for batching of inserts/updates to multiple partions, until it's really necessary (see "misuse of batches" doc).
批处理最终将被重播,即使您将错误返回给驱动程序 - 发生这种情况是因为批处理在执行之前被复制到其他节点。有关详细信息,请参阅 following diagram。