{"record":{"id":"0461ee32b3f227dc","repo":"pentaho/pentaho-kettle","slug":"jobentrysuccess-meta-unabletoloadfromxml","errorCode":"JobEntrySuccess.Meta.UnableToLoadFromXML","errorMessage":"JobEntrySuccess.Meta.UnableToLoadFromXML","messagePattern":"JobEntrySuccess\\.Meta\\.UnableToLoadFromXML","errorType":"error_code","errorClass":"KettleXMLException","httpStatus":null,"severity":"error","filePath":"engine/src/main/java/org/pentaho/di/job/entries/success/JobEntrySuccess.java","lineNumber":70,"sourceCode":"  public Object clone() {\n    JobEntrySuccess je = (JobEntrySuccess) super.clone();\n    return je;\n  }\n\n  public String getXML() {\n    StringBuilder retval = new StringBuilder();\n\n    retval.append( super.getXML() );\n\n    return retval.toString();\n  }\n\n  public void loadXML( Node entrynode, List<DatabaseMeta> databases, List<SlaveServer> slaveServers,\n    Repository rep, IMetaStore metaStore ) throws KettleXMLException {\n    try {\n      super.loadXML( entrynode, databases, slaveServers );\n    } catch ( Exception e ) {\n      throw new KettleXMLException( BaseMessages.getString( PKG, \"JobEntrySuccess.Meta.UnableToLoadFromXML\" ), e );\n    }\n  }\n\n  public void loadRep( Repository rep, IMetaStore metaStore, ObjectId id_jobentry, List<DatabaseMeta> databases,\n    List<SlaveServer> slaveServers ) throws KettleException {\n  }\n\n  // Save the attributes of this job entry\n  //\n  public void saveRep( Repository rep, IMetaStore metaStore, ObjectId id_job ) throws KettleException {\n  }\n\n  /**\n   * Execute this job entry and return the result. In this case it means, just set the result boolean in the Result\n   * class.\n   *\n   * @param previousResult\n   *          The result of the previous execution","sourceCodeStart":52,"sourceCodeEnd":88,"githubUrl":"https://github.com/pentaho/pentaho-kettle/blob/f3058517a153da500bf4551f46d79b91bf8ec552/engine/src/main/java/org/pentaho/di/job/entries/success/JobEntrySuccess.java#L52-L88","documentation":"KettleXMLException with localized code JobEntrySuccess.Meta.UnableToLoadFromXML thrown by JobEntrySuccess.loadXML when the inherited JobEntryBase.loadXML call throws any Exception. The Success entry has no attributes of its own, so this almost always indicates malformed/invalid entry XML in the job file.","triggerScenarios":"Calling loadXML on a 'success' entry node where super.loadXML throws: the node is null, lacks required child tags, or the XML is malformed enough that base parsing fails.","commonSituations":"Corrupted or hand-edited .kjb file; missing <entry> node passed in by mistake; older/newer serialization format differences in base attributes.","solutions":["Inspect the wrapped cause for the exact failure from JobEntryBase.loadXML.","Validate/repair the .kjb XML around the success entry node.","Re-save the job in Spoon to regenerate the entry node.","Ensure a non-null entrynode is passed to loadXML."],"exampleFix":"// before\nsuccessEntry.loadXML(node, databases, slaveServers, rep, metaStore); // NPEs/wraps if node null\n// after\nif (node != null && \"success\".equals(XMLHandler.getNodeValue(XMLHandler.getSubNode(node, \"type\")))) {\n  successEntry.loadXML(node, databases, slaveServers, rep, metaStore);\n}","handlingStrategy":"validation","validationCode":"if (entrynode == null) {\n  throw new KettleXMLException(\"Null node passed to JobEntrySuccess.loadXML\");\n}\n","typeGuard":"boolean isUsableNode(Node n) {\n  return n != null && n.hasChildNodes();\n}","tryCatchPattern":"try {\n  successEntry.loadXML(entrynode, databases, slaveServers, rep, metaStore);\n} catch (KettleXMLException e) {\n  logError(\"Success entry XML unreadable: \" + e.getCause(), e);\n}","preventionTips":["Pass the correct <entry> Node, not the parent job node","Validate .kjb XML after any manual edit","Re-save jobs in Spoon to normalize serialization"],"tags":["xml","pdi","job-entry","parse"],"backgroundTag":"json-parse-error","analyzedSha":"f3058517a153da500bf4551f46d79b91bf8ec552","analyzedAt":"2026-09-13T14:04:16.340Z","contentChangedAt":"2026-09-13T14:04:16.340Z","schemaVersion":2},"datasetVersion":"2026-09-20T23:17:15.980Z"}