{"record":{"id":"e48565a50759e736","repo":"pentaho/pentaho-kettle","slug":"no-auto-sequence-information-found-in-the-slave-server","errorCode":null,"errorMessage":"No auto-sequence information found in the slave server config.  Slave sequence could not be created automatically.","messagePattern":"No auto-sequence information found in the slave server config\\.  Slave sequence could not be created automatically\\.","errorType":"exception","errorClass":"KettleException","httpStatus":null,"severity":"error","filePath":"engine/src/main/java/org/pentaho/di/www/TransformationMap.java","lineNumber":384,"sourceCode":"   * @return the hostServerSocketPortsMap\n   */\n  public List<SocketPortAllocation> getHostServerSocketPorts( String hostname ) {\n    List<SocketPortAllocation> ports = hostServerSocketPortsMap.get( hostname );\n    return ports == null ? Collections.emptyList() : Collections.unmodifiableList( ports );\n  }\n\n  public SlaveSequence getSlaveSequence( String name ) {\n    return SlaveSequence.findSlaveSequence( name, slaveServerConfig.getSlaveSequences() );\n  }\n\n  public boolean isAutomaticSlaveSequenceCreationAllowed() {\n    return slaveServerConfig.isAutomaticCreationAllowed();\n  }\n\n  public SlaveSequence createSlaveSequence( String name ) throws KettleException {\n    SlaveSequence auto = slaveServerConfig.getAutoSequence();\n    if ( auto == null ) {\n      throw new KettleException( \"No auto-sequence information found in the slave server config.  \"\n        + \"Slave sequence could not be created automatically.\" );\n    }\n\n    SlaveSequence slaveSequence =\n      new SlaveSequence( name, auto.getStartValue(), auto.getDatabaseMeta(), auto.getSchemaName(), auto\n        .getTableName(), auto.getSequenceNameField(), auto.getValueField() );\n\n    slaveServerConfig.getSlaveSequences().add( slaveSequence );\n\n    return slaveSequence;\n  }\n\n  private static class TransData {\n\n    private Trans trans;\n\n    private TransConfiguration configuration;\n","sourceCodeStart":366,"sourceCodeEnd":402,"githubUrl":"https://github.com/pentaho/pentaho-kettle/blob/f3058517a153da500bf4551f46d79b91bf8ec552/engine/src/main/java/org/pentaho/di/www/TransformationMap.java#L366-L402","documentation":"Thrown by TransformationMap.createSlaveSequence when the Carte slave server configuration contains no auto-sequence definition (slaveServerConfig.getAutoSequence() returns null). Slave sequences require database-backed auto-sequence settings (start value, database meta, schema/table, field names) supplied in the Carte config file; without them a sequence cannot be created automatically.","triggerScenarios":"Calling createSlaveSequence(name) on a Carte slave started without an <auto-sequence> block in its configuration XML; requesting a slave sequence via the Carte web service when auto-creation is not configured.","commonSituations":"Deploying a Carte slave with a default/minimal carte-config.xml lacking auto-sequence settings; operator calls the sequence REST endpoint expecting auto-creation; copying a config from a master that had sequences but not to the slave.","solutions":["Add an <auto-sequence> element (with start value, database, schema, table, and field names) to the Carte slave's config XML and restart the slave","Check slaveServerConfig.isAutomaticCreationAllowed() before calling createSlaveSequence","Create the SlaveSequence manually with explicit parameters instead of relying on the auto sequence"],"exampleFix":"// before\nSlaveSequence seq = transformationMap.createSlaveSequence( \"mySeq\" );\n// after\nif ( slaveServerConfig.isAutomaticCreationAllowed() ) {\n  SlaveSequence seq = transformationMap.createSlaveSequence( \"mySeq\" );\n} else {\n  throw new KettleException( \"Configure <auto-sequence> in the slave config first\" );\n}","handlingStrategy":"try-catch","validationCode":"if ( !slaveServerConfig.isAutomaticCreationAllowed() ) {\n  throw new KettleException( \"Add <auto-sequence> to the Carte slave config to enable slave sequences\" );\n}","typeGuard":"boolean hasAutoSequence(SlaveServerConfig cfg) { return cfg != null && cfg.getAutoSequence() != null; }","tryCatchPattern":"try {\n  SlaveSequence seq = transformationMap.createSlaveSequence( name );\n} catch ( KettleException e ) {\n  if ( e.getMessage().contains( \"No auto-sequence\" ) ) {\n    // configure auto-sequence in carte config or create sequence manually\n  }\n}","preventionTips":["Include an <auto-sequence> block in every Carte slave config that will serve sequences","Probe isAutomaticCreationAllowed() before invoking sequence APIs","Keep master and slave Carte configs synchronized"],"tags":["java","kettle","carte","configuration"],"backgroundTag":"missing-required-config-field","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"}