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

   ### Apache Hop version?
   
   2.18.1
   
   ### Java version?
   
   21.0.11
   
   ### Operating system
   
   Docker
   
   ### What happened?
   
   When a pipeline .hpl file contains a <transform_error_handling> entry whose 
target_transform (or source_transform) refers to a transform that no longer 
exists in the file, the pipeline becomes completely un-openable in Hop GUI. The 
error is misleading — it surfaces as a TransformErrorMeta instantiation failure 
rather than clearly stating that an error-handling hop points to a missing 
transform.
   Stack trace:
   HopException:
   Error opening pipeline file 
'/usr/local/tomcat/webapps/ROOT/config/projects/default/SEVKIYAT_ZJ1.hpl'
   Error reading object from XML file
   Error reading object from XML file
   Error calling setter method on class org.apache.hop.pipeline.PipelineMeta
   Unable to instantiate a new instance of class 
org.apache.hop.pipeline.transform.TransformErrorMeta: make sure there is an 
empty public constructor available to allow XML de-serialization
   Unable to find object with name Delay row in list transforms
   
   Root cause: HopXmlException:
   Unable to find object with name Delay row in list transforms
   Steps to reproduce:
   
   Create a pipeline with two transforms, A and B, and define error handling 
from A to B.
   Delete or rename transform B (or manually remove its <transform> block), 
while leaving the <transform_error_handling> block intact in the XML.
   Reopen the pipeline.
   
   Expected behavior:
   The pipeline should open, ignoring or warning about the orphaned 
error-handling hop (similar to how a normal hop referencing a missing transform 
could be handled gracefully), rather than failing deserialization entirely. At 
minimum, the error message should clearly state that an error-handling hop 
references a missing target transform, and name the source transform so the 
user can locate it.
   Actual behavior:
   The entire pipeline fails to load. The top-level error blames 
TransformErrorMeta / "empty public constructor", which is misleading — the real 
cause is the missing target transform referenced by the error-handling 
definition. There is no in-GUI way to recover; the user must hand-edit the XML 
to remove the orphaned <error> block.
   Workaround:
   Open the .hpl in a text editor and delete the <transform_error_handling> 
block (or the specific <error> entry) whose source_transform/target_transform 
names a transform that no longer exists in the file.
   
   ### Issue Priority
   
   Priority: 3
   
   ### Issue Component
   
   Component: Hop Web


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