Accumulo BatchWriter close()永远卡住



例如,当我使用BatchWriter写入accumulo时,我使用如下代码:

BatchWriter writer =
    conn.createBatchWriter("table", memBuf, timeout, numThreads)
writer.add(mutation);
writer.close();

我发现当我有"writter.add(mutation)"时,java代码会停留在"writter.close()"中。但当我删除"writteR.add(mution);"时,它会经过"writter.close()"。有人知道如何解决BatchWriter close(()问题吗?

(注意:没有足够的rep.添加为注释)

一个额外的调试提示:使用accumulo shell,您可以打开调试模式(在accumulo-shell中键入debug);然后您可以尝试手动插入密钥,甚至只是简单地扫描您要插入的行。调试信息将打印出accumulo正在与之通信以执行命令的服务器序列。这可以快速将您指向出现问题的主机。

检查Accumulo监视器是否存在错误。如果只添加一个突变,则在关闭BatchWriter时,它将被发送到服务器(出于性能原因,突变被分批处理在一起)。您的客户端可能正在等待至少一个TabletServer的响应。

您还可以从客户端和桌面服务器收集stackdump,显示代码当前被卡住的位置(例如使用jstack)。

相关内容

  • 没有找到相关文章

最新更新