bitflicker64 commented on code in PR #3399:
URL: https://github.com/apache/hugegraph/pull/3399#discussion_r4368421803


##########
hugegraph-store/hg-store-node/src/main/java/org/apache/hugegraph/store/node/StoreNodeApplication.java:
##########
@@ -32,7 +33,14 @@
 public class StoreNodeApplication {
 
     public static void main(String[] args) {
-        start(args);
+        try {
+            start(args);
+        } catch (RuntimeException e) {
+            LoggerFactory.getLogger(StoreNodeApplication.class)
+                         .error("HugeGraph Store startup failed; exiting with 
status 1", e);
+            // An incomplete Spring bootstrap can leave non-daemon native/Raft 
executors alive.
+            System.exit(1);

Review Comment:
   Important: This exit fires for every startup failure, not only the GraphID 
preflight. A Store started without a reachable PD used to leave the JVM 
running; now it exits with status 1, and `test-start-hugegraph-store.sh` still 
expects the JVM to stay up. That makes `pd_store / store` fail on this head: 
Test 2 reports `script exited early — foreground mode is not blocking` and `no 
running JVM available to verify explicit -g g1`, Test 3 reports `Java process 
not found`, and Tests 3 and 4 see exit 1 instead of 137 and 143. The same job 
passes on other PRs at this base. I built the dist from this head and started 
it with no PD: `hgStoreNodeService` init throws `RuntimeException: PDException: 
PD unreachable, pd.peers=localhost:8686`, Spring logs `Application run failed`, 
and this catch exits 1 within seconds. Because that launcher step fails, the 
later `Run core test` step (`-P store-core-test`, which holds the four new 
GraphID test classes) and the lifecycle tests never run in CI. If
  failing fast without PD is the intended behaviour, update Tests 2-4 to run 
against a reachable or fake PD so they still have a live JVM to check. 
Otherwise, limit the exit to the GraphID preflight failure. Either way, 
`pd_store / store` needs to pass.



##########
hugegraph-store/hg-store-dist/src/assembly/descriptor/server-assembly.xml:
##########
@@ -50,6 +50,11 @@
     </fileSets>
 
     <files>
+        <file>
+            <source>${project.basedir}/../../docs/graphid-upgrade.md</source>

Review Comment:
   Important: This entry breaks every Docker build that packages the Store. The 
root `.dockerignore` excludes `**/*.md` and `docs/` (lines 60-61), so 
`docs/graphid-upgrade.md` is missing from the build context and `hg-store-dist` 
fails with `Failed to create assembly: Error adding file to archive: 
/pkg/hugegraph-store/hg-store-dist/./../../docs/graphid-upgrade.md`. That is 
the `docker / docker-build` failure on this head (target `server-hstore`). The 
same job passes on other PRs at this base, and `hugegraph-store/Dockerfile` 
uses the same `COPY . .` context, so the published Store image cannot be built 
either. Please re-include the file in `.dockerignore` after those two patterns 
(for example `!docs/graphid-upgrade.md`) or keep the guide out of the assembly, 
then confirm `docker / docker-build` passes.



-- 
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