批处理写入时,influxdb发生管道中断

时间:2018-12-10 09:10:31

标签: java tcp influxdb

在下面的此块中,我尝试使用批量写入

private void save() {
    Pong pong = conn.ping();
    if (pong != null && pong.isGood()) {
        LogUtil.info("InfluxDBStreamOutputStep",
                String.format("prepare to write %d line datas", batchPoints.getPoints().size()));
        conn.batchInsert(batchPoints);
    }
}

然后下一个块建立了连接,我还添加了一个try catch在中断或发生任何错误时重建连接

@Override
protected void processClose() {
    try {
        if (batchPoints != null && batchPoints.getPoints() != null 
                   && !batchPoints.getPoints().isEmpty()) {
        long start = System.currentTimeMillis();
        try {
            save();
        } catch(InfluxDBException e) {
            if (conn != null) {
                conn.close();
            }
            setupConnection();
            save();
        }
    }
}

添加重建代码块后,它可以继续运行五天,但今天又发生了异常,与“断管”之前的日子相同。一世 查了查管道破裂的原因,有人博客的回答说,当客户在写入数据时收到第一个软件包时,管道破裂发生了。

总而言之,有人知道该解决方案吗?或者以前曾遇到过这个问题?

0 个答案:

没有答案