imbajin commented on code in PR #683:
URL:
https://github.com/apache/incubator-hugegraph-toolchain/pull/683#discussion_r2422428542
##########
hugegraph-loader/src/main/java/org/apache/hugegraph/loader/HugeGraphLoader.java:
##########
@@ -109,42 +203,62 @@ 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();
+ e.printStackTrace();
+
+ throw e;
}
- return this.context.noError();
+
Review Comment:
**Breaking API Change**: The `load()` method now always returns `true`
instead of `context.noError()`. This is a breaking change that makes it
impossible for callers to determine if the load operation succeeded.
**Issue**: Even when errors occur and exceptions are caught, the method
still returns true, providing false success indicators to calling code.
**Recommendation**: Restore the original return semantics:
```java
public boolean load() {
// ... existing code ...
return this.context.noError();
}
```
Or at minimum, ensure proper error propagation so exceptions aren't silently
swallowed.
--
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]