voltdb - org.voltdb.Distributor.getPartitionKeys 中的 NPE
问题描述
我注册了 jira .. 除了拉取请求之外,我不确定如何报告问题。这里有一个错误,因为 .get() 的结果可以为空。我认为可能有更好的信息可以补充异常情况。
在 org.voltdb.Distributor 中
if (m_partitionUpdateStatus.get().getStatus() != ClientResponse.SUCCESS) {
throw new ProcCallException(m_partitionUpdateStatus.get(), null, null);
}
示例堆栈跟踪
org.voltdb.client.ProcCallException: null
at org.voltdb.client.Distributer.getPartitionKeys(Distributer.java:1561) ~[voltdbclient-8.4.1.jar!/:?]
at org.voltdb.client.ClientImpl.callAllPartitionProcedure(ClientImpl.java:1071) ~[voltdbclient-8.4.1.jar!/:?]
at zipkin2.autoconfigure.storage.voltdb.VoltDBScheduledTasks.processCompleteTraces(VoltDBScheduledTasks.java:54) ~[voltdb.jar!/:?]
解决方案
我为此记录了一张错误票:https ://issues.voltdb.com/browse/ENG-15784
如果您捕获到异常,您可以调用 ProcCallException.getClientResponse().getStatusString() 这应该显示为什么客户端无法获取处理 callAllPartitionProcedure() 调用所需的分区键值。
披露:我在 VoltDB 工作
推荐阅读
- spring-boot - 模板解析时出错(springboot+thymeleaf)
- javascript - 使用 Fetch 方法动态创建单个卡片
- python - 如何使用两个列表将数据附加到 df 索引
- python - Plotly Polar Bar Plot - 设置自定义 theta 单位
- regex - 如何在正则表达式中有异常?
- android - 如何手动从 jitpack.io 下载 aar 和 pom 文件?
- java - 在 Spring Boot WebFlux 中清除 Cookie
- sql - 使用 SUBSTRING 和 CHARINDEX 的问题
- vue.js - 字符串在 Firefox 上显示正常,任何基于 Chromium 的浏览器都会将其更改为日期
- java - 为什么我们有 HQL 时还需要原生 SQL