You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@iotdb.apache.org by ha...@apache.org on 2021/05/08 08:42:01 UTC
[iotdb] 01/01: [IOTDB-1316] The importCsv tool should continue
inserting if a part of insertion failed (#3131)
This is an automated email from the ASF dual-hosted git repository.
haonan pushed a commit to branch cp3131
in repository https://gitbox.apache.org/repos/asf/iotdb.git
commit c5d105b34274a97bee6663148af10996a0709adb
Author: Haonan <hh...@outlook.com>
AuthorDate: Sat May 8 16:32:18 2021 +0800
[IOTDB-1316] The importCsv tool should continue inserting if a part of insertion failed (#3131)
---
.../main/java/org/apache/iotdb/tool/ImportCsv.java | 22 ++++++++++++++++++++--
1 file changed, 20 insertions(+), 2 deletions(-)
diff --git a/cli/src/main/java/org/apache/iotdb/tool/ImportCsv.java b/cli/src/main/java/org/apache/iotdb/tool/ImportCsv.java
index 224d513..d4f22a5 100644
--- a/cli/src/main/java/org/apache/iotdb/tool/ImportCsv.java
+++ b/cli/src/main/java/org/apache/iotdb/tool/ImportCsv.java
@@ -167,7 +167,16 @@ public class ImportCsv extends AbstractCsvTool {
measurementsList.add(devicesToMeasurements.get(device));
}
if (lineNumber % 10000 == 0) {
- session.insertRecords(devices, times, measurementsList, valuesList);
+ try {
+ session.insertRecords(devices, times, measurementsList, valuesList);
+ } catch (StatementExecutionException e) {
+ if (e.getMessage().contains("failed to insert measurements")) {
+ System.out.println("Meet error when insert csv because " + e.getMessage());
+ System.out.println("Continue inserting... ");
+ } else {
+ throw e;
+ }
+ }
pb.stepTo(lineNumber + 1L);
devices = new ArrayList<>();
times = new ArrayList<>();
@@ -176,7 +185,16 @@ public class ImportCsv extends AbstractCsvTool {
}
}
// TODO change it to insertTablet, now is slow
- session.insertRecords(devices, times, measurementsList, valuesList);
+ try {
+ session.insertRecords(devices, times, measurementsList, valuesList);
+ } catch (StatementExecutionException e) {
+ if (e.getMessage().contains("failed to insert measurements")) {
+ System.out.println("Meet error when insert csv because " + e.getMessage());
+ System.out.println("Continue inserting... ");
+ } else {
+ throw e;
+ }
+ }
System.out.println("Insert csv successfully!");
pb.stepTo(fileLine);
} catch (FileNotFoundException e) {