diff --git a/iotdb-client/cli/src/main/java/org/apache/iotdb/tool/tsfile/ImportTsFileRemotely.java b/iotdb-client/cli/src/main/java/org/apache/iotdb/tool/tsfile/ImportTsFileRemotely.java index 16a1fd2c3c8a..cb6c640473b1 100644 --- a/iotdb-client/cli/src/main/java/org/apache/iotdb/tool/tsfile/ImportTsFileRemotely.java +++ b/iotdb-client/cli/src/main/java/org/apache/iotdb/tool/tsfile/ImportTsFileRemotely.java @@ -124,6 +124,10 @@ public void loadTsFile() { if (!isReconnectAndLoadSuccessFul) { processFailFile(filePath, e); + + close(); + initClient(); + sendHandshake(); } } } @@ -136,16 +140,7 @@ public void loadTsFile() { public void sendHandshake() { try { - final Map params = new HashMap<>(); - params.put( - PipeTransferHandshakeConstant.HANDSHAKE_KEY_TIME_PRECISION, - CommonDescriptor.getInstance().getConfig().getTimestampPrecision()); - params.put(PipeTransferHandshakeConstant.HANDSHAKE_KEY_CLUSTER_ID, getClusterId()); - params.put( - PipeTransferHandshakeConstant.HANDSHAKE_KEY_CONVERT_ON_TYPE_MISMATCH, - Boolean.toString(true)); - params.put(PipeTransferHandshakeConstant.HANDSHAKE_KEY_LOAD_TSFILE_STRATEGY, LOAD_STRATEGY); - + final Map params = constructParamsMap(); TPipeTransferResp resp = client.pipeTransfer(PipeTransferDataNodeHandshakeV2Req.toTPipeTransferReq(params)); @@ -181,6 +176,19 @@ public void sendHandshake() { } } + private Map constructParamsMap() { + final Map params = new HashMap<>(); + params.put( + PipeTransferHandshakeConstant.HANDSHAKE_KEY_TIME_PRECISION, + CommonDescriptor.getInstance().getConfig().getTimestampPrecision()); + params.put(PipeTransferHandshakeConstant.HANDSHAKE_KEY_CLUSTER_ID, getClusterId()); + params.put( + PipeTransferHandshakeConstant.HANDSHAKE_KEY_CONVERT_ON_TYPE_MISMATCH, + Boolean.toString(true)); + params.put(PipeTransferHandshakeConstant.HANDSHAKE_KEY_LOAD_TSFILE_STRATEGY, LOAD_STRATEGY); + return params; + } + public void doTransfer(final File tsFile, final File modFile) throws PipeException, IOException { final TPipeTransferResp resp; final TPipeTransferReq req;