{"record":{"id":"e0d409ea8b63f432","repo":"pentaho/pentaho-kettle","slug":"getsequencemeta-exception-errorloadingstepinfo","errorCode":null,"errorMessage":"GetSequenceMeta.Exception.ErrorLoadingStepInfo","messagePattern":"GetSequenceMeta\\.Exception\\.ErrorLoadingStepInfo","errorType":"exception","errorClass":"KettleXMLException","httpStatus":null,"severity":"error","filePath":"engine/src/main/java/org/pentaho/di/trans/steps/getslavesequence/GetSlaveSequenceMeta.java","lineNumber":75,"sourceCode":"  @Override\n  public void loadXML( Node stepnode, List<DatabaseMeta> databases, IMetaStore metaStore ) throws KettleXMLException {\n    readData( stepnode, databases );\n  }\n\n  @Override\n  public Object clone() {\n    Object retval = super.clone();\n    return retval;\n  }\n\n  private void readData( Node stepnode, List<DatabaseMeta> databases ) throws KettleXMLException {\n    try {\n      valuename = XMLHandler.getTagValue( stepnode, \"valuename\" );\n      slaveServerName = XMLHandler.getTagValue( stepnode, \"slave\" );\n      sequenceName = XMLHandler.getTagValue( stepnode, \"seqname\" );\n      increment = XMLHandler.getTagValue( stepnode, \"increment\" );\n    } catch ( Exception e ) {\n      throw new KettleXMLException(\n        BaseMessages.getString( PKG, \"GetSequenceMeta.Exception.ErrorLoadingStepInfo\" ), e );\n    }\n  }\n\n  @Override\n  public void setDefault() {\n    valuename = \"id\";\n    slaveServerName = \"slave server name\";\n    sequenceName = \"Slave Sequence Name -- To be configured\";\n    increment = \"10000\";\n  }\n\n  @Override\n  public void getFields( Bowl bowl, RowMetaInterface row, String name, RowMetaInterface[] info, StepMeta nextStep,\n    VariableSpace space, Repository repository, IMetaStore metaStore ) throws KettleStepException {\n    ValueMetaInterface v = new ValueMetaInteger( valuename );\n    v.setOrigin( name );\n    row.addValueMeta( v );","sourceCodeStart":57,"sourceCodeEnd":93,"githubUrl":"https://github.com/pentaho/pentaho-kettle/blob/f3058517a153da500bf4551f46d79b91bf8ec552/engine/src/main/java/org/pentaho/di/trans/steps/getslavesequence/GetSlaveSequenceMeta.java#L57-L93","documentation":"GetSlaveSequenceMeta.readData throws KettleXMLException with 'ErrorLoadingStepInfo' when parsing the step's XML node fails while loading a transformation from a .ktr file. It wraps the underlying exception (e) while reading valuename/slave/seqname/increment tags, so the root cause is preserved. This means the step XML is malformed or an XMLHandler call failed unexpectedly.","triggerScenarios":"loadXML -> readData raises a non-KettleXMLException while calling XMLHandler.getTagValue on the stepnode, e.g. the node passed in is null or malformed XML triggers a parse exception.","commonSituations":"Hand-edited .ktr files with broken XML; copy-pasted step XML missing required tags; version migration leaving corrupt step nodes; file encoding issues corrupting the XML.","solutions":["Open the .ktr in an XML editor and fix/validate the XML around this step's node.","Re-create the Get slave sequence step in Spoon and re-save the transformation.","Restore the .ktr from version control or backup.","Compare the step XML against a known-good export (tags: valuename, slave, seqname, increment)."],"exampleFix":"// before: malformed step XML\n<valuename>seq<valuename>\n// after: well-formed\n<valuename>seq</valuename>","handlingStrategy":"try-catch","validationCode":"// Validate the .ktr XML before loading\nDocument doc = XMLHandler.loadXMLFile( new File( ktrPath ) );\nif ( XMLHandler.getSubNode( doc, \"transformation\" ) == null )\n  throw new IllegalArgumentException( \"Not a valid transformation XML: \" + ktrPath );","typeGuard":null,"tryCatchPattern":"try {\n  TransMeta transMeta = new TransMeta( ktrPath );\n} catch ( KettleXMLException e ) {\n  if ( e.getMessage().contains( \"ErrorLoadingStepInfo\" ) ) {\n    Throwable root = e.getCause();\n    // log root cause, fall back to re-creating the step or restoring backup\n  } else throw e;\n}","preventionTips":["Never hand-edit .ktr files without validating the XML afterwards","Keep transformations in version control for easy restore","Use the same PDI version for exports and imports","Run Spoon's built-in validation before saving"],"tags":["kettle","pdi","xml","serialization"],"backgroundTag":"xml-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"}