Accumulo BatchWriter close()永远停滞不前

时间:2016-03-22 18:46:52

标签: java accumulo

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

BatchWriter writer =
    conn.createBatchWriter("table", memBuf, timeout, numThreads)

writer.add(mutation);
writer.close();

我发现java代码卡在" writer.close()"当我有" writer.add(变种)"。但是当我删除" writer.add(变种);"时,它经历了#34; writer.close()"。有谁知道如何解决BatchWriter close()问题?

2 个答案:

答案 0 :(得分:3)

(注意:没有足够的代表添加为评论)

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

答案 1 :(得分:2)

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

您还可以从客户端和平板电脑服务器收集stackdump,显示当前代码所在的位置(例如,使用jstack)。