{"record":{"id":"670a60f5c300407a","repo":"pentaho/pentaho-kettle","slug":"error-evaluating-internet-address-value-metadata","errorCode":null,"errorMessage":"Error evaluating Internet address value metadata","messagePattern":"Error evaluating Internet address value metadata","errorType":"exception","errorClass":"KettleDatabaseException","httpStatus":null,"severity":"error","filePath":"core/src/main/java/org/pentaho/di/core/row/value/ValueMetaInternetAddress.java","lineNumber":501,"sourceCode":"\n    try {\n      int type = rm.getColumnType( index );\n      if ( type == java.sql.Types.OTHER ) {\n\n        String columnTypeName = rm.getColumnTypeName( index );\n        if ( \"INET\".equalsIgnoreCase( columnTypeName ) ) {\n\n          ValueMetaInternetAddress valueMeta = new ValueMetaInternetAddress( name );\n\n          // Also get original column details, comment, etc.\n          //\n          getOriginalColumnMetadata( valueMeta, rm, index, ignoreLength );\n          return valueMeta;\n        }\n      }\n      return null;\n    } catch ( Exception e ) {\n      throw new KettleDatabaseException( \"Error evaluating Internet address value metadata\", e );\n    }\n  }\n\n  @Override\n  public Object getValueFromResultSet( DatabaseInterface databaseInterface, ResultSet resultSet, int index ) throws KettleDatabaseException {\n\n    try {\n\n      return convertStringToInternetAddress( resultSet.getString( index + 1 ) );\n\n    } catch ( Exception e ) {\n      throw new KettleDatabaseException( toStringMeta()\n        + \" : Unable to get Internet Address from resultset at index \" + index, e );\n    }\n\n  }\n\n  @Override","sourceCodeStart":483,"sourceCodeEnd":519,"githubUrl":"https://github.com/pentaho/pentaho-kettle/blob/f3058517a153da500bf4551f46d79b91bf8ec552/core/src/main/java/org/pentaho/di/core/row/value/ValueMetaInternetAddress.java#L483-L519","documentation":"getValueFromSQLType() inspects a ResultSet's column metadata to decide whether the column is a valid Internet Address source. Any exception during this evaluation (metadata access failures, unexpected SQL types) is wrapped in KettleDatabaseException 'Error evaluating Internet address value metadata'.","triggerScenarios":"Table input / database preview calling getValueFromSQLType() against a column whose metadata cannot be evaluated — driver throwing on getColumnType/getColumnTypeName, invalid column index, or connection problems during metadata retrieval.","commonSituations":"JDBC drivers with incomplete DatabaseMetaData support (e.g., exotic or legacy drivers); querying views/system tables with odd column types; stale or broken connections during table preview.","solutions":["Check the JDBC connection and driver; upgrade to a fully compliant driver","Test the same query in a DB client to confirm the column metadata is retrievable","Catch KettleDatabaseException during preview and define the field type manually (Set Field Type to Internet Address / String) instead of relying on SQL-type detection"],"exampleFix":"// before\nValueMetaInterface vm = inetMeta.getValueFromSQLType(dbMeta, rs, i, null, false);\n// after\nValueMetaInterface vm;\ntry { vm = inetMeta.getValueFromSQLType(dbMeta, rs, i, null, false); }\ncatch (KettleDatabaseException e) { vm = new ValueMetaString(\"ip\"); log.warn(\"Metadata detection failed, defaulting to String\"); }","handlingStrategy":"try-catch","validationCode":"try (ResultSet rs = stmt.getMetaData()) { /* verify rs.getColumnCount() > index and type name before detection */ }","typeGuard":null,"tryCatchPattern":"try { vm = inetMeta.getValueFromSQLType(dbMeta, rs, i, null, false); } catch (KettleDatabaseException e) { vm = new ValueMetaString(\"ip\"); }","preventionTips":["Test column metadata retrieval with the driver beforehand","Define field types manually when drivers are unreliable","Keep JDBC drivers current"],"tags":["database","jdbc","metadata","kettle"],"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"}