eyazan opened a new issue, #7338: URL: https://github.com/apache/hop/issues/7338
### 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 source_transform or target_transform refers to a transform that no longer exists in the file, the pipeline becomes completely un-openable in Hop. The error is misleading: it surfaces as a TransformErrorMeta instantiation / "empty public constructor" failure rather than clearly stating that an error-handling hop points to a missing transform. We have hit this on multiple different pipelines in the same project, each pointing at a different missing transform (e.g. Table input, Delay row), which suggests it is a general deserialization-robustness issue rather than something specific to one file. Stack trace: HopXmlException: 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 Table input in list transforms Root cause: HopXmlException: Unable to find object with name Table input in list transforms Steps to reproduce: Create a pipeline with two transforms, A and B, and define error handling between them. Delete or rename one of the transforms (or manually remove its <transform> block from the XML) while leaving the <transform_error_handling> block intact. Reopen the pipeline. Expected behavior: The pipeline should open, ignoring or warning about the orphaned error-handling hop, rather than failing deserialization entirely. At minimum the error message should clearly state that an error-handling hop references a missing transform and name the source transform, so the user can locate and fix 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 transform referenced by the <transform_error_handling> definition. There is no in-GUI way to recover, so 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]
