{"record":{"id":"176d55f49b8cc2fa","repo":"pentaho/pentaho-kettle","slug":"httpmeta-exception-unexpectederrorreadingstepinfo","errorCode":"HTTPMeta.Exception.UnexpectedErrorReadingStepInfo","errorMessage":"HTTPMeta.Exception.UnexpectedErrorReadingStepInfo","messagePattern":"HTTPMeta\\.Exception\\.UnexpectedErrorReadingStepInfo","errorType":"exception","errorClass":"KettleException","httpStatus":null,"severity":"error","filePath":"engine/src/main/java/org/pentaho/di/trans/steps/http/HTTPMeta.java","lineNumber":476,"sourceCode":"      int nrheaders = rep.countNrStepAttributes( id_step, \"header_name\" );\n      allocate( nrargs, nrheaders );\n\n      for ( int i = 0; i < nrargs; i++ ) {\n        argumentField[i] = rep.getStepAttributeString( id_step, i, \"arg_name\" );\n        argumentParameter[i] = rep.getStepAttributeString( id_step, i, \"arg_parameter\" );\n      }\n\n      for ( int i = 0; i < nrheaders; i++ ) {\n        headerField[i] = rep.getStepAttributeString( id_step, i, \"header_name\" );\n        headerParameter[i] = rep.getStepAttributeString( id_step, i, \"header_parameter\" );\n      }\n\n      fieldName = rep.getStepAttributeString( id_step, \"result_name\" );\n      resultCodeFieldName = rep.getStepAttributeString( id_step, \"result_code\" );\n      responseTimeFieldName = rep.getStepAttributeString( id_step, \"response_time\" );\n      responseHeaderFieldName = rep.getStepAttributeString( id_step, \"response_header\" );\n    } catch ( Exception e ) {\n      throw new KettleException(\n        BaseMessages.getString( PKG, \"HTTPMeta.Exception.UnexpectedErrorReadingStepInfo\" ), e );\n    }\n  }\n\n  public void saveRep( Repository rep, IMetaStore metaStore, ObjectId id_transformation, ObjectId id_step ) throws KettleException {\n    try {\n      rep.saveStepAttribute( id_transformation, id_step, \"url\", url );\n      rep.saveStepAttribute( id_transformation, id_step, \"urlInField\", urlInField );\n      rep.saveStepAttribute( id_transformation, id_step, \"urlField\", urlField );\n      rep.saveStepAttribute( id_transformation, id_step, \"encoding\", encoding );\n      rep.saveStepAttribute( id_transformation, id_step, \"httpLogin\", httpLogin );\n      rep.saveStepAttribute( id_transformation, id_step, \"httpPassword\", Encr\n        .encryptPasswordIfNotUsingVariables( httpPassword ) );\n      rep.saveStepAttribute( id_transformation, id_step, \"proxyHost\", proxyHost );\n      rep.saveStepAttribute( id_transformation, id_step, \"proxyPort\", proxyPort );\n      rep.saveStepAttribute( id_transformation, id_step, \"socketTimeout\", socketTimeout );\n      rep.saveStepAttribute( id_transformation, id_step, \"connectionTimeout\", connectionTimeout );\n      rep.saveStepAttribute( id_transformation, id_step, \"closeIdleConnectionsTime\", closeIdleConnectionsTime );","sourceCodeStart":458,"sourceCodeEnd":494,"githubUrl":"https://github.com/pentaho/pentaho-kettle/blob/f3058517a153da500bf4551f46d79b91bf8ec552/engine/src/main/java/org/pentaho/di/trans/steps/http/HTTPMeta.java#L458-L494","documentation":"HTTPMeta.readRep fails while loading the step's configuration from a repository. Any repository access error during attribute reading is wrapped in KettleException 'HTTPMeta.Exception.UnexpectedErrorReadingStepInfo'.","triggerScenarios":"readRep throws while calling rep.getStepAttributeString for url, request headers, or result fields — typically a repository connectivity/session error or corrupted step metadata row in the R_STEP_ATTRIBUTE table.","commonSituations":"Database repository unreachable mid-session; stale/corrupted repository record for the step; permissions problem on repository tables; repository schema version mismatch.","solutions":["Verify repository database connectivity and credentials.","Reopen the transformation in Spoon to refresh the repository session.","Inspect the step's rows in R_STEP_ATTRIBUTE for corruption; recreate the step and re-save.","Check the repository schema version matches your Pentaho version (run the upgrade scripts)."],"exampleFix":"// No code fix; operational remedy:\n// before: transformation loaded against stale DB repo connection\n// after: reconnect repository (Tools > Repository > Reconnect) and reopen the transformation","handlingStrategy":"retry","validationCode":"// verify repository connectivity before loading transformations\nif ( !rep.isConnected() || !rep.testConnection() ) throw new IllegalStateException( \"repository unreachable\" );","typeGuard":null,"tryCatchPattern":"try { loadRep( rep, metaStore, id_step, ... ); } catch ( KettleException e ) {\n  logError( \"Repository read failed, retrying once: \" + e.getMessage(), e );\n  loadRep( rep, metaStore, id_step, ... ); // retry after reconnect\n}","preventionTips":["Keep repository DB connections healthy (timeouts, connection pooling)","Verify repository schema version after Pentaho upgrades","Avoid concurrent writes to the same transformation"],"tags":["kettle","repository","persistence"],"backgroundTag":"database-query-failed","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"}