org.voltdb.Distributer.getPartitionKeys 中的 NAME

NPE in org.voltdb.Distributer.getPartitionKeys

我注册了 jira.. 除了 pull request 之外,我不确定如何报告问题。这里有一个错误,因为 .get() 的结果可能为空。我认为可能有更好的信息来补充异常​​。

在org.voltdb.Distributer

    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 工作