{"record":{"id":"c573244382104956","repo":"pentaho/pentaho-kettle","slug":"unable-to-load-job-entry-of-type-trans-from-xml-node","errorCode":null,"errorMessage":"Unable to load job entry of type 'trans' from XML node","messagePattern":"Unable to load job entry of type 'trans' from XML node","errorType":"exception","errorClass":"KettleXMLException","httpStatus":null,"severity":"error","filePath":"engine/src/main/java/org/pentaho/di/job/entries/trans/JobEntryTrans.java","lineNumber":460,"sourceCode":"      }\n\n      Node parametersNode = XMLHandler.getSubNode( entrynode, \"parameters\" );\n\n      String passAll = XMLHandler.getTagValue( parametersNode, \"pass_all_parameters\" );\n      passingAllParameters = Utils.isEmpty( passAll ) || \"Y\".equalsIgnoreCase( passAll );\n\n      int nrParameters = XMLHandler.countNodes( parametersNode, \"parameter\" );\n      allocateParams( nrParameters );\n\n      for ( int i = 0; i < nrParameters; i++ ) {\n        Node knode = XMLHandler.getSubNodeByNr( parametersNode, \"parameter\", i );\n\n        parameters[ i ] = XMLHandler.getTagValue( knode, \"name\" );\n        parameterFieldNames[ i ] = XMLHandler.getTagValue( knode, \"stream_name\" );\n        parameterValues[ i ] = XMLHandler.getTagValue( knode, \"value\" );\n      }\n    } catch ( KettleException e ) {\n      throw new KettleXMLException( \"Unable to load job entry of type 'trans' from XML node\", e );\n    }\n  }\n\n  // Load the jobentry from repository\n  //\n  @Override\n  public void loadRep( Repository rep, IMetaStore metaStore, ObjectId id_jobentry, List<DatabaseMeta> databases,\n                       List<SlaveServer> slaveServers ) throws KettleException {\n    try {\n      String method = rep.getJobEntryAttributeString( id_jobentry, \"specification_method\" );\n      specificationMethod = ObjectLocationSpecificationMethod.getSpecificationMethodByCode( method );\n      String transId = rep.getJobEntryAttributeString( id_jobentry, \"trans_object_id\" );\n      transObjectId = Utils.isEmpty( transId ) ? null : new StringObjectId( transId );\n      transname = rep.getJobEntryAttributeString( id_jobentry, \"name\" );\n      directory = rep.getJobEntryAttributeString( id_jobentry, \"dir_path\" );\n      filename = rep.getJobEntryAttributeString( id_jobentry, \"file_name\" );\n\n      // Backward compatibility check for object specification","sourceCodeStart":442,"sourceCodeEnd":478,"githubUrl":"https://github.com/pentaho/pentaho-kettle/blob/f3058517a153da500bf4551f46d79b91bf8ec552/engine/src/main/java/org/pentaho/di/job/entries/trans/JobEntryTrans.java#L442-L478","documentation":"Thrown by JobEntryTrans.loadXML when loading a Transformation ('trans') job entry from an XML node fails with a KettleException. It signals the entry's XML (including run configuration and parameter sub-nodes) could not be parsed into the object. The original exception is wrapped as the cause.","triggerScenarios":"Loading a .kjb file whose trans job entry node is malformed or references unreadable content while XMLHandler parses fields like transformation name, run configuration, and parameter arrays (name/stream_name/value).","commonSituations":"Jobs saved by a newer Pentaho version then loaded by an older runtime; corrupted or hand-edited job files; inconsistent parameter block XML; file truncation during transfer.","solutions":["Inspect the wrapped KettleException cause for the exact parsing failure","Validate/repair the trans job entry XML node in the .kjb file","Re-save the job in a Spoon version matching the execution runtime","Re-create the Transformation job entry if the XML is unrecoverable"],"exampleFix":null,"handlingStrategy":"try-catch","validationCode":"if ( XMLHandler.getTagValue( entrynode, \"transname\" ) == null && XMLHandler.getTagValue( entrynode, \"filename\" ) == null ) { throw new IllegalStateException( \"trans entry missing transformation reference\" ); }","typeGuard":null,"tryCatchPattern":"try { entry.loadXML( entrynode, databases, slaveServers, rep, metaStore ); } catch ( KettleXMLException e ) { log.error( \"Bad trans entry XML\", e.getCause() ); }","preventionTips":["Avoid hand-editing job XML","Align Pentaho versions between design and runtime","Validate transferred files (checksums)","Re-create corrupt job entries"],"tags":["kettle","xml","deserialization"],"backgroundTag":"json-unmarshal-failed","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"}