调试 VOLT DB 存储过程

Debugging VOLT DB Stored Procedure

我在远程机器上安装了 voltdb。我想知道如何调试我编写的存储过程。具体来说,我想在不同的时间点查看不同变量的值。是否有任何日志记录机制或在终端上显示内容(如 netizza 中的 raise notice)。

此维基页面 Using Eclipse to Develop and Debug VoltDB Client Applications 在 Github 中的 voltdb 项目上描述了如何使用 Eclipse 中的调试器进行设置。

如果您正在寻找非常简单的命令行故障排除方法,有几个选项,但我们不建议在存储过程中添加对 log4j 的调用。这是供临时使用的,之后应该删除:

  1. 在过程中使用 System.out.println() 调用,并从控制台 运行 VoltDB 查看输出。手动调用过程。如果您多次调用该过程,这将不会很有帮助。

  2. 创建一个 table 并在过程中使用插入来记录消息、变量值或您想在过程中跟踪的任何内容。这可以处理大量调用,因为您可以在 运行 完成工作负载后查询 table,甚至可以创建一个视图来聚合结果。我更多地使用它来计算在不同点执行过程中经过的纳秒数,计算过程中达到某些逻辑点时的实例,或者计算过程中返回的中间记录,通常只用于非常复杂的过程.如果您的过程导致错误,这将无济于事,因为插入内容会回滚,因此用途有限。