{"record":{"id":"692c1804ead32ceb","repo":"pentaho/pentaho-kettle","slug":"httppostmeta-exception-unexpectederrorreadingstepinfo","errorCode":null,"errorMessage":"HTTPPOSTMeta.Exception.UnexpectedErrorReadingStepInfo","messagePattern":"HTTPPOSTMeta\\.Exception\\.UnexpectedErrorReadingStepInfo","errorType":"exception","errorClass":"KettleException","httpStatus":null,"severity":"error","filePath":"engine/src/main/java/org/pentaho/di/trans/steps/httppost/HTTPPOSTMeta.java","lineNumber":536,"sourceCode":"        argumentField[i] = rep.getStepAttributeString( id_step, i, \"arg_name\" );\n        argumentParameter[i] = rep.getStepAttributeString( id_step, i, \"arg_parameter\" );\n        argumentHeader[i] = rep.getStepAttributeBoolean( id_step, i, \"arg_header\" );\n      }\n\n      int nrquery = rep.countNrStepAttributes( id_step, \"query_name\" );\n      allocateQuery( nrquery );\n\n      for ( int i = 0; i < nrquery; i++ ) {\n        queryField[i] = rep.getStepAttributeString( id_step, i, \"query_name\" );\n        queryParameter[i] = rep.getStepAttributeString( id_step, i, \"query_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( BaseMessages.getString(\n        PKG, \"HTTPPOSTMeta.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, \"postafile\", postafile );\n      rep.saveStepAttribute( id_transformation, id_step, \"encoding\", encoding );\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, \"requestEntity\", requestEntity );\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","sourceCodeStart":518,"sourceCodeEnd":554,"githubUrl":"https://github.com/pentaho/pentaho-kettle/blob/f3058517a153da500bf4551f46d79b91bf8ec552/engine/src/main/java/org/pentaho/di/trans/steps/httppost/HTTPPOSTMeta.java#L518-L554","documentation":"HTTPPOSTMeta.readRep loads step settings from a repository; any Exception while reading step attributes is wrapped in a KettleException with 'HTTPPOSTMeta.Exception.UnexpectedErrorReadingStepInfo'. It indicates repository/DB-level trouble while reading the step's saved metadata.","triggerScenarios":"readRep queries rep.getStepAttributeString(...) for the step's attributes; any Exception (DB connectivity, missing repository tables, transaction issues) at line 536 is caught and rethrown as KettleException.","commonSituations":"Database repository unreachable or credentials expired; r_step_attribute table corrupted or migrated from an incompatible Pentaho version; network drop mid-load; repository schema not upgraded after a PDI upgrade.","solutions":["Check repository database connectivity and credentials.","Run the repository upgrade/migration scripts if PDI was upgraded.","Verify r_step_attribute rows exist for the failing id_step; restore from backup if corrupted.","Retry loading — transient DB/network failures often resolve on retry.","Inspect the wrapped cause (e.getCause()) for the underlying SQL error."],"exampleFix":"// before\n// repository pointing at an old, non-migrated schema\n// after\n// apply repository upgrade scripts for the current PDI version, then reconnect and reload the transformation","handlingStrategy":"try-catch","validationCode":"try (Connection c = DriverManager.getConnection(dbUrl, user, pass)) {\n  if (!c.isValid(5)) throw new IllegalStateException(\"Repository DB not reachable\");\n}","typeGuard":null,"tryCatchPattern":"try {\n  meta.readRep(rep, metaStore, id_step, databases);\n} catch (KettleException ke) {\n  log.error(\"Read step info failed: \" + ke.getCause(), ke);\n  // check repository DB health, then retry\n}","preventionTips":["Verify repository DB connectivity before batch loads","Run repository upgrade scripts after PDI upgrades","Back up repository tables regularly"],"tags":["repository","database","pentaho-metadata","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"}