{"record":{"id":"b6be0d5ba1d3b073","repo":"pentaho/pentaho-kettle","slug":"luciddbstreamingloadermeta-exception-b6be0d","errorCode":"LucidDBStreamingLoaderMeta.Exception.UnexpectedErrorReadingStepInfoFromRepository","errorMessage":"LucidDBStreamingLoaderMeta.Exception.UnexpectedErrorReadingStepInfoFromRepository","messagePattern":"LucidDBStreamingLoaderMeta\\.Exception\\.UnexpectedErrorReadingStepInfoFromRepository","errorType":"exception","errorClass":"KettleException","httpStatus":null,"severity":"error","filePath":"plugins/lucid-db-streaming-loader/core/src/main/java/org/pentaho/di/trans/steps/luciddbstreamingloader/LucidDBStreamingLoaderMeta.java","lineNumber":339,"sourceCode":"        }\n\n      }\n\n      for ( int i = 0; i < nrFieldMapping; i++ ) {\n        fieldTableForFields[i] = rep.getStepAttributeString( id_step, i, \"field_field_name\" );\n        fieldStreamForFields[i] = rep.getStepAttributeString( id_step, i, \"field_stream_name\" );\n        if ( fieldStreamForFields[i] == null ) {\n          fieldStreamForFields[i] = fieldTableForFields[i];\n        }\n        insOrUptFlag[i] = rep.getStepAttributeBoolean( id_step, i, \"insert_or_update_flag\" );\n      }\n\n      for ( int i = 0; i < nrTabIsEnable; i++ ) {\n\n        tabIsEnable[i] = rep.getStepAttributeBoolean( id_step, i, \"tab_is_enable\" );\n      }\n    } catch ( Exception e ) {\n      throw new KettleException( BaseMessages.getString(\n        PKG, \"LucidDBStreamingLoaderMeta.Exception.UnexpectedErrorReadingStepInfoFromRepository\" ), e );\n    }\n  }\n\n  public void saveRep( Repository rep, IMetaStore metaStore, ObjectId id_transformation, ObjectId id_step ) throws KettleException {\n    try {\n      rep.saveDatabaseMetaStepAttribute( id_transformation, id_step, \"id_connection\", databaseMeta );\n      rep.saveStepAttribute( id_transformation, id_step, \"schema\", schemaName );\n      rep.saveStepAttribute( id_transformation, id_step, \"table\", tableName );\n      rep.saveStepAttribute( id_transformation, id_step, \"host\", host );\n      rep.saveStepAttribute( id_transformation, id_step, \"port\", port );\n      rep.saveStepAttribute( id_transformation, id_step, \"operation\", operation );\n      rep.saveStepAttribute( id_transformation, id_step, \"custom_sql\", custom_sql );\n\n      for ( int i = 0; i < fieldTableForKeys.length; i++ ) {\n        rep.saveStepAttribute( id_transformation, id_step, i, \"key_field_name\", fieldTableForKeys[i] );\n        rep.saveStepAttribute( id_transformation, id_step, i, \"key_stream_name\", fieldStreamForKeys[i] );\n","sourceCodeStart":321,"sourceCodeEnd":357,"githubUrl":"https://github.com/pentaho/pentaho-kettle/blob/f3058517a153da500bf4551f46d79b91bf8ec552/plugins/lucid-db-streaming-loader/core/src/main/java/org/pentaho/di/trans/steps/luciddbstreamingloader/LucidDBStreamingLoaderMeta.java#L321-L357","documentation":"readRep() loads the step's settings from a repository (database-stored transformation). Any exception while reading step attributes (e.g. the repository row/attributes are missing or the repository connection fails mid-read) is wrapped in a KettleException with this message.","triggerScenarios":"Loading a LucidDB Streaming Loader step from a repository via loadRep() -> readRep(rep, id_step); rep.getStepAttributeBoolean/getStepAttributeString throws because the r_step_attribute rows are missing, the repository is unavailable, or the stored metadata belongs to a different plugin version.","commonSituations":"Repository database partially migrated; transformation saved by a newer plugin version so expected attribute keys are absent; flaky repository DB connection during load.","solutions":["Verify the repository connection is healthy (test the repository DB connection in Spoon).","Check that r_step_attribute rows exist for the step id; re-save the step metadata from a working copy.","Align plugin versions between the environment that saved and the one loading the transformation.","Re-import/re-create the step in the repository if its attributes are corrupt."],"exampleFix":null,"handlingStrategy":"try-catch","validationCode":"if (rep == null || id_step == null) {\n  throw new KettleException(\"Repository or step id is null; cannot read LucidDBStreamingLoader metadata\");\n}","typeGuard":null,"tryCatchPattern":"try {\n  meta.loadRep(rep, metaStore, id_step, databases, metaStore);\n} catch (KettleException e) {\n  logError(\"Repository read failed for LucidDB Streaming Loader step \" + id_step, e);\n  throw e;\n}","preventionTips":["Test repository connectivity before batch-loading transformations.","Keep repository schema and plugin versions in sync across environments.","Back up repository metadata before migrations.","Re-save steps after plugin upgrades to refresh stored attributes."],"tags":["kettle","repository","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"}