pentaho/pentaho-kettle · error · KettleException
No auto-sequence information found in the slave server…
Error message
No auto-sequence information found in the slave server config. Slave sequence could not be created automatically.
What it means
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.
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
Example fix
// before
SlaveSequence seq = transformationMap.createSlaveSequence( "mySeq" );
// after
if ( slaveServerConfig.isAutomaticCreationAllowed() ) {
SlaveSequence seq = transformationMap.createSlaveSequence( "mySeq" );
} else {
throw new KettleException( "Configure <auto-sequence> in the slave config first" );
} Defensive patterns
Strategy: try-catch
Validate before calling
if ( !slaveServerConfig.isAutomaticCreationAllowed() ) {
throw new KettleException( "Add <auto-sequence> to the Carte slave config to enable slave sequences" );
} Type guard
boolean hasAutoSequence(SlaveServerConfig cfg) { return cfg != null && cfg.getAutoSequence() != null; } Try / catch
try {
SlaveSequence seq = transformationMap.createSlaveSequence( name );
} catch ( KettleException e ) {
if ( e.getMessage().contains( "No auto-sequence" ) ) {
// configure auto-sequence in carte config or create sequence manually
}
} Prevention
- 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
When it happens
Trigger: 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.
Common situations: 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.
Understand the failure class
Background: "is required", "must be set", "missing required field": configuration validation errors across open-source libraries — this error's family across 36 libraries.
Related errors
- A server socket allocation always has to accompanied by a…
- A server socket allocation always has to accompanied by a…
- A server socket allocation always has to accompanied by a…
- A server socket allocation always has to accompanied by a…
- A server socket allocation always has to accompanied by a…
AI-assisted analysis of pentaho/pentaho-kettle@f3058517a1 (2026-09-13).
Data as JSON: /api/errors/e48565a50759e736.
Report an issue: GitHub.
Appendix: source
Thrown at engine/src/main/java/org/pentaho/di/www/TransformationMap.java:384
* @return the hostServerSocketPortsMap
*/
public List<SocketPortAllocation> getHostServerSocketPorts( String hostname ) {
List<SocketPortAllocation> ports = hostServerSocketPortsMap.get( hostname );
return ports == null ? Collections.emptyList() : Collections.unmodifiableList( ports );
}
public SlaveSequence getSlaveSequence( String name ) {
return SlaveSequence.findSlaveSequence( name, slaveServerConfig.getSlaveSequences() );
}
public boolean isAutomaticSlaveSequenceCreationAllowed() {
return slaveServerConfig.isAutomaticCreationAllowed();
}
public SlaveSequence createSlaveSequence( String name ) throws KettleException {
SlaveSequence auto = slaveServerConfig.getAutoSequence();
if ( auto == null ) {
throw new KettleException( "No auto-sequence information found in the slave server config. "
+ "Slave sequence could not be created automatically." );
}
SlaveSequence slaveSequence =
new SlaveSequence( name, auto.getStartValue(), auto.getDatabaseMeta(), auto.getSchemaName(), auto
.getTableName(), auto.getSequenceNameField(), auto.getValueField() );
slaveServerConfig.getSlaveSequences().add( slaveSequence );
return slaveSequence;
}
private static class TransData {
private Trans trans;
private TransConfiguration configuration;
View on GitHub (pinned to f3058517a1)