Exception with Spring Data Cassandra



我在使用 Spring-Data-Cassandra 查询 cassandra 时出现异常。请帮忙 2021-06-01 12:09:48.594 信息 9568 --- [nio-8080-exec-3] c.e.demo2.控制器.演示控制器:错误:org.springframework.data.cassandra.Cassandra未分类异常:查询;CQL [从summary_data中选择 *,其中proj_id = ? 和类别 = ? 和名称 = ? 和时间>= ?];查询在 PT10S 后超时;嵌套异常是 com.datastax.oss.driver.api.core.DriverTimeoutException:查询在 PT10S 之后超时

private final AsyncCassandraOperations asyncCassandraTemplate;
public List<Data1> getData(String convProjectId, List<String> stageNames,
String eventCategory, List<String> distinctDateHour) {
final String cql = "select * from summary_data where proj_id = ? and category = ? and name = ? and time >= ?";
List<BanEventLifecycle> bList = new ArrayList<>();
ArrayList<ListenableFuture<List<Data1>>> bFutureList = new ArrayList<>();
distinctDateHour.forEach(dateHr-> stageNames.forEach(stageName->{
ListenableFuture<List<Data1>> futureBData = asyncCassandraTemplate.getAsyncCqlOperations().query(cql,
ps -> ps.bind().setString(0, projectId.toLowerCase()).setString(1,dateHr)
.setString(2, category.toLowerCase()).setString(3, name),
(row, rowNum) -> Data1.getData1(row));
bFutureList.add(futureBData);
}));
bFutureList.forEach(future -> {
try {
banList.addAll(future.get());
} catch (Exception exception) {
}
});
return bList;
}

弹簧数据卡桑德拉:3.0.9.发布

Cassandra 的 Java 驱动程序在驱动程序请求超时内没有从协调器那里得到响应时会抛出DriverTimeoutException,这种情况是 10 秒 (PT10S)。

您需要查看 Cassandra 日志以确定协调器未响应驱动程序请求的原因。您正在执行昂贵的查询,或者集群当时过载。

请注意,不应将DriverTimeoutExceptionReadTimeoutException混淆,协调器在读取请求超时内未收到副本的响应时引发的错误。干杯!

最新更新