This is an automated email from the ASF dual-hosted git repository.

rong pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/iotdb.git


The following commit(s) were added to refs/heads/master by this push:
     new 4900407d8b1 load-tsfile: Add retry logic for load memory controls  
(#12782)
4900407d8b1 is described below

commit 4900407d8b11fd35cf4c85cdda5c2333fb482915
Author: Steve Yurong Su <[email protected]>
AuthorDate: Fri Jun 21 15:55:23 2024 +0800

    load-tsfile: Add retry logic for load memory controls  (#12782)
---
 .../cli/src/main/java/org/apache/iotdb/tool/ImportTsFile.java | 11 ++++++++++-
 1 file changed, 10 insertions(+), 1 deletion(-)

diff --git 
a/iotdb-client/cli/src/main/java/org/apache/iotdb/tool/ImportTsFile.java 
b/iotdb-client/cli/src/main/java/org/apache/iotdb/tool/ImportTsFile.java
index e0f1a906aca..15cdd907f8b 100644
--- a/iotdb-client/cli/src/main/java/org/apache/iotdb/tool/ImportTsFile.java
+++ b/iotdb-client/cli/src/main/java/org/apache/iotdb/tool/ImportTsFile.java
@@ -208,7 +208,7 @@ public class ImportTsFile extends AbstractTsFileTool {
     ioTPrinter.println(
         "Successfully load "
             + loadFileSuccessfulNum.sum()
-            + " file(s) (--on_success operation(s): "
+            + " tsfile(s) (--on_success operation(s): "
             + processingLoadSuccessfulFileSuccessfulNum.sum()
             + " succeed, "
             + (loadFileSuccessfulNum.sum() - 
processingLoadSuccessfulFileSuccessfulNum.sum())
@@ -386,6 +386,7 @@ public class ImportTsFile extends AbstractTsFileTool {
 
         try {
           sessionPool.executeNonQueryStatement(sql);
+
           loadFileSuccessfulNum.increment();
           ioTPrinter.println("Imported [ " + filePath + " ] file 
successfully!");
 
@@ -401,6 +402,14 @@ public class ImportTsFile extends AbstractTsFileTool {
                     + processSuccessException.getMessage());
           }
         } catch (Exception e) {
+          // Reject because of memory controls, do retry later
+          if (Objects.nonNull(e.getMessage()) && 
e.getMessage().contains("memory")) {
+            ioTPrinter.println(
+                "Rejecting file [ " + filePath + " ] due to memory 
constraints, will retry later.");
+            tsfileQueue.put(filePath);
+            continue;
+          }
+
           loadFileFailedNum.increment();
           ioTPrinter.println("Failed to import [ " + filePath + " ] file: " + 
e.getMessage());
 

Reply via email to