Adalennis opened a new issue, #9219:
URL: https://github.com/apache/hop/issues/9219

   ### Apache Hop version?
   
   SNAPSHOT-20261021
   
   ### Java version?
   
   Java 21
   
   ### Operating system
   
   macOS
   
   ### What happened?
   
   Found while documenting the result of these actions (#8970, PR #9200). 
Tested with hop-run against Neo4j 2026.09 Community, Oracle 26ai Free and 
PostgreSQL 16, and re-checked on today's main (no changes to these actions 
since the tested build). Line numbers are from today's main.
   
   **1. Graph index and Graph constraint are never false**
   
   Every failure throws out of execute(), so the workflow stops with "A serious 
error occurred during workflow execution" and no hop from the action is 
followed, also not a failure hop:
   - an empty, unknown or unreachable Graph database connection 
(Neo4jIndex.java line 84, Neo4jConstraint.java line 82; 
NeoConnectionUtils.runSchemaStatement() line 368);
   - an update without Update type (lines 91 / 89), a VECTOR index without 
Vector dimensions (Neo4jIndex line 239), an empty Constraint name;
   - a statement the database refuses (NeoConnectionUtils line 382): NOT_NULL 
or NODE_KEY on Neo4j Community Edition, a UNIQUE constraint on duplicate 
values, vector dimensions above 4096.
   
   The updates before the failing one stay done, the ones after it are not run. 
The actions set `result.setResult(false)` just before some of these throws, but 
the result never reaches the hops.
   
   Expected: the action is false with errors, so a failure hop can handle it, 
as with the other actions.
   
   **2. Graph script stops the workflow on connection problems**
   
   An empty or unknown Graph database connection throws out of execute() 
(CypherScript.java line 82), and so does a connection that can't be opened, 
because connect() is outside the try that catches statement errors (line 95): 
an unreachable server or a refused login (AuthenticationException) stop the 
workflow. A failing statement is handled and gives false with 1 error.
   
   Expected: false with 1 error for connection problems too.
   
   **3. Create property graph stops the workflow on an empty or unknown 
relational connection**
   
   loadDatabaseMeta() runs before the try (ActionCreatePropertyGraph.java line 
210), so "Unable to find relational database connection" throws out of 
execute() and stops the workflow. Every other failure (unknown graph model, 
unreachable database, no SQL/PGQ support, existing graph without Replace...) is 
caught and gives false with 1 error.
   
   Expected: false with 1 error, as for the other failures.
   
   **4. Create property graph leaves the tables it created when the graph 
statement fails**
   
   The statements run one by one (lines 211-217): first the CREATE TABLE 
statements, then CREATE PROPERTY GRAPH. On PostgreSQL, which has no SQL/PGQ, 
the action is false with "syntax error at or near PROPERTY", but the tables 
person, company, knows and works_at it just created stay in the database.
   
   Expected: drop the tables the action created when the property graph can't 
be created, or at least mention it in the error.
   
   The current behaviour is documented on the action pages (PR #9200), so the 
docs need an update when these are fixed.
   
   
   ### Issue Priority
   
   Priority: 3
   
   ### Issue Component
   
   Component: Hop Gui


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

Reply via email to