imbajin commented on code in PR #683:
URL: 
https://github.com/apache/incubator-hugegraph-toolchain/pull/683#discussion_r2444647051


##########
hugegraph-loader/src/main/java/org/apache/hugegraph/loader/HugeGraphLoader.java:
##########
@@ -109,42 +207,63 @@ public boolean load() {
             // Print load summary
             Printer.printSummary(this.context);
         } catch (Throwable t) {
+            this.context.occurredError();
+
+            if (t instanceof ServerException) {
+                ServerException e = (ServerException) t;
+                String logMessage =
+                        "Log ServerException: \n" + e.exception() + "\n";
+                if (e.trace() != null) {
+                    logMessage += StringUtils.join((List<String>) e.trace(),
+                                                   "\n");
+                }
+                LOG.warn(logMessage);
+            }
+
             RuntimeException e = LoadUtil.targetRuntimeException(t);
             Printer.printError("Failed to load", e);
-            if (this.context.options().testMode) {
-                throw e;
-            }
-        } finally {
-            this.stopThenShutdown();
+            LOG.error("Load failed with exception", e);
+
+            throw e;
         }
+
         return this.context.noError();
     }
 
+    public void shutdown() {
+        this.stopThenShutdown();
+    }
+
     private void clearAllDataIfNeeded() {
-        LoadOptions options = this.context.options();
         if (!options.clearAllData) {
             return;
         }
 
         int requestTimeout = options.timeout;
         options.timeout = options.clearTimeout;
         HugeClient client = HugeClientHolder.create(options);
-        String message = "I'm sure to delete all data";
 
-        LOG.info("Prepare to clear the data of graph '{}'", options.graph);
-        client.graphs().clearGraph(options.graph, message);
-        LOG.info("The graph '{}' has been cleared successfully", 
options.graph);
-
-        options.timeout = requestTimeout;
-        client.close();
+        try {
+            LOG.info("Prepare to clear the data of graph '{}'", options.graph);
+            client.graphs().clearGraph(options.graph, "I'm sure to delete all 
data");
+            LOG.info("The graph '{}' has been cleared successfully",
+                     options.graph);
+            options.timeout = requestTimeout;

Review Comment:
   **Error Handling Issue**: The catch block catches `Throwable` and rethrows 
it without restoring the timeout. Move `options.timeout = requestTimeout` to a 
finally block to ensure it's always restored, regardless of exception type.



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to