pentaho/pentaho-kettle · error · KettleException
RestMeta.Exception.UnexpectedErrorReadingStepInfo
RestMeta.Exception.UnexpectedErrorReadingStepInfo
Error message
RestMeta.Exception.UnexpectedErrorReadingStepInfo
What it means
RestMeta.readRep wraps any exception from reading the step's attributes from the repository into a KettleException with this message. It indicates an unexpected failure while loading REST step configuration from a Pentaho repository (database or file).
Solutions
- Verify repository connectivity and credentials
- Upgrade/repair the repository schema via the repository tools
- Re-save the step to rewrite its attributes
- Check repository logs for the underlying exception (wrapped as cause)
Defensive patterns
Strategy: try-catch
Try / catch
try {
stepMeta.readRep(rep, metaStore, idStep, databases);
} catch (KettleException e) {
logError("Repository read failed: " + e.getCause());
} Prevention
- Verify repository connection health before loading transformations
- Keep repository schema upgraded to match the Pentaho version
- Log and monitor the cause exception, not just the wrapper message
When it happens
Trigger: Repository connection failure, missing repository object/tables, or repository API exception while calling getStepAttributeString for the REST step's attributes.
Common situations: Repository database down or credentials changed; repository schema outdated (needs upgrade); corrupted repository entry.
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
- AccessInputMeta.Exception.ErrorReadingRepository
- AggregateRowsMeta.Exception.UnexpectedErrorWhileReadingStepInfo
- AggregateRowsMeta.Exception.UnableToSaveStepInfo
- CubeInputMeta.Exception.UnableToSaveStepInfo
- CubeOutputMeta.Exception.UnableToSaveStepInfo
AI-assisted analysis of pentaho/pentaho-kettle@f3058517a1 (2026-09-13).
Data as JSON: /api/errors/35cb46061c503a1c.
Report an issue: GitHub.
Appendix: source
Thrown at plugins/rest/core/src/main/java/org/pentaho/di/trans/steps/rest/RestMeta.java:672
for ( int i = 0; i < nrHeaders; i++ ) {
headerField[i] = rep.getStepAttributeString( idStep, i, TAG_HEADER_FIELD );
headerName[i] = rep.getStepAttributeString( idStep, i, TAG_HEADER_NAME );
}
for ( int i = 0; i < nrParams; i++ ) {
parameterField[i] = rep.getStepAttributeString( idStep, i, TAG_PARAMETER_FIELD );
parameterName[i] = rep.getStepAttributeString( idStep, i, TAG_PARAMETER_NAME );
}
for ( int i = 0; i < nrMatrixParams; i++ ) {
matrixParameterField[i] = rep.getStepAttributeString( idStep, i, TAG_MATRIX_PARAMETER_FIELD );
matrixParameterName[i] = rep.getStepAttributeString( idStep, i, TAG_MATRIX_PARAMETER_NAME );
}
fieldName = rep.getStepAttributeString( idStep, TAG_RESULT_NAME );
resultCodeFieldName = rep.getStepAttributeString( idStep, TAG_RESULT_CODE );
responseTimeFieldName = rep.getStepAttributeString( idStep, TAG_RESPONSE_TIME );
responseHeaderFieldName = rep.getStepAttributeString( idStep, TAG_RESPONSE_HEADER );
} catch ( Exception e ) {
throw new KettleException(
BaseMessages.getString( PKG, "RestMeta.Exception.UnexpectedErrorReadingStepInfo" ), e );
}
}
@Override
public void saveRep( Repository rep, IMetaStore metaStore, ObjectId idTransformation, ObjectId idStep ) throws KettleException {
try {
rep.saveStepAttribute( idTransformation, idStep, TAG_APPLICATION_TYPE, applicationType );
rep.saveStepAttribute( idTransformation, idStep, TAG_METHOD, method );
rep.saveStepAttribute( idTransformation, idStep, TAG_URL, url );
rep.saveStepAttribute( idTransformation, idStep, TAG_METHOD_FIELD_NAME, methodFieldName );
rep.saveStepAttribute( idTransformation, idStep, TAG_DYNAMIC_METHOD, dynamicMethod );
rep.saveStepAttribute( idTransformation, idStep, TAG_URL_IN_FIELD, urlInField );
rep.saveStepAttribute( idTransformation, idStep, TAG_URL_FIELD, urlField );
rep.saveStepAttribute( idTransformation, idStep, TAG_BODY_FIELD, bodyField );
rep.saveStepAttribute( idTransformation, idStep, TAG_HTTP_LOGIN, httpLogin );
rep.saveStepAttribute( idTransformation, idStep, TAG_HTTP_PASSWORD, EncrView on GitHub (pinned to f3058517a1)