pentaho/pentaho-kettle · error · KettleException
SyslogMessageMeta.Exception.UnexpectedErrorReadingStepInfo
Error message
SyslogMessageMeta.Exception.UnexpectedErrorReadingStepInfo
What it means
Outer catch-all in SyslogMessageMeta.readRep: an unexpected exception occurred while reading the step's attributes (message field, server, port, facility, priority) from the repository. The localized message wraps the original exception, which is attached as the cause.
Solutions
- Check repository connectivity and re-run the load
- Re-save the transformation to the repository to rewrite its attribute rows
- Inspect the cause chain for the underlying repository/SQL error
- Restore the transformation from a repository backup or re-import from XML
Example fix
// before
meta.loadRep(rep, metaStore, id_step, databases); // silent about cause
// after
try { meta.loadRep(rep, metaStore, id_step, databases); } catch (KettleException e) { log.error("Cause: " + e.getCause(), e); } Defensive patterns
Strategy: try-catch
Validate before calling
if (rep == null || !rep.isConnected()) { throw new KettleException("Repository not connected before loadRep"); } Try / catch
try { meta.readRep(rep, metaStore, id_step, databases); } catch (KettleException e) { logError("Repository read failed: " + (e.getCause()!=null?e.getCause().getMessage():e.getMessage()), e); } Prevention
- Verify repository connectivity before loading transformations
- Keep repository schema upgraded to the client version
- Back up repository contents regularly
When it happens
Trigger: loadRep invoking readRep against a repository where the step's attribute rows are missing, corrupted, or the repository connection errors out mid-read.
Common situations: Repository schema partially migrated between Kettle versions; deleted repository rows for the step; network/DB errors while querying the repository tables.
Understand the failure class
Background: Database query failed: Internal Server Error 500s wrapping SQL, Prisma, and connection failures — what to check first — this error's family across 16 libraries.
Related errors
- GetTableNamesMeta.Exception.UnableToSaveStepInfo
- GPBulkLoaderMeta.Exception.UnexpectedErrorReadingStepInfoFro…
- GPBulkLoaderMeta.Exception.UnexpectedErrorReadingStepInfoFromRepository
- GPBulkLoaderMeta.Exception.UnableToSaveStepInfoToRepository
- InsertUpdateMeta.Exception.UnexpectedErrorReadingStepInfoFro…
AI-assisted analysis of pentaho/pentaho-kettle@f3058517a1 (2026-09-13).
Data as JSON: /api/errors/57bb47949aa8a2fb.
Report an issue: GitHub.
Appendix: source
Thrown at engine/src/main/java/org/pentaho/di/trans/steps/syslog/SyslogMessageMeta.java:256
throw new KettleXMLException( BaseMessages.getString(
PKG, "SyslogMessageMeta.Exception.UnableToReadStepInfo" ), e );
}
}
public void readRep( Repository rep, IMetaStore metaStore, ObjectId id_step, List<DatabaseMeta> databases ) throws KettleException {
try {
messagefieldname = rep.getStepAttributeString( id_step, "messagefieldname" );
serverName = rep.getJobEntryAttributeString( id_step, "servername" );
port = rep.getJobEntryAttributeString( id_step, "port" );
facility = rep.getJobEntryAttributeString( id_step, "facility" );
priority = rep.getJobEntryAttributeString( id_step, "priority" );
datePattern = rep.getJobEntryAttributeString( id_step, "datePattern" );
addTimestamp = rep.getJobEntryAttributeBoolean( id_step, "addTimestamp" );
addHostName = rep.getJobEntryAttributeBoolean( id_step, "addHostName" );
} catch ( Exception e ) {
throw new KettleException( BaseMessages.getString(
PKG, "SyslogMessageMeta.Exception.UnexpectedErrorReadingStepInfo" ), e );
}
}
public void saveRep( Repository rep, IMetaStore metaStore, ObjectId id_transformation, ObjectId id_step ) throws KettleException {
try {
rep.saveStepAttribute( id_transformation, id_step, "messagefieldname", messagefieldname );
rep.saveJobEntryAttribute( id_transformation, id_step, "port", port );
rep.saveJobEntryAttribute( id_transformation, id_step, "servername", serverName );
rep.saveJobEntryAttribute( id_transformation, id_step, "facility", facility );
rep.saveJobEntryAttribute( id_transformation, id_step, "priority", priority );
rep.saveJobEntryAttribute( id_transformation, id_step, "datePattern", datePattern );
rep.saveJobEntryAttribute( id_transformation, id_step, "addTimestamp", addTimestamp );
rep.saveJobEntryAttribute( id_transformation, id_step, "addHostName", addHostName );
} catch ( Exception e ) {
throw new KettleException( BaseMessages.getString( PKG, "SyslogMessageMeta.Exception.UnableToSaveStepInfo" )
+ id_step, e );View on GitHub (pinned to f3058517a1)