pentaho/pentaho-kettle · error · KettleDatabaseException
Error evaluating Internet address value metadata
Error message
Error evaluating Internet address value metadata
What it means
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'.
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
Example fix
// before
ValueMetaInterface vm = inetMeta.getValueFromSQLType(dbMeta, rs, i, null, false);
// after
ValueMetaInterface vm;
try { vm = inetMeta.getValueFromSQLType(dbMeta, rs, i, null, false); }
catch (KettleDatabaseException e) { vm = new ValueMetaString("ip"); log.warn("Metadata detection failed, defaulting to String"); } Defensive patterns
Strategy: try-catch
Validate before calling
try (ResultSet rs = stmt.getMetaData()) { /* verify rs.getColumnCount() > index and type name before detection */ } Try / catch
try { vm = inetMeta.getValueFromSQLType(dbMeta, rs, i, null, false); } catch (KettleDatabaseException e) { vm = new ValueMetaString("ip"); } Prevention
- Test column metadata retrieval with the driver beforehand
- Define field types manually when drivers are unreliable
- Keep JDBC drivers current
When it happens
Trigger: 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.
Common situations: 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.
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
- Database.Exception.EmptyConnectionError
- Database.Exception.UnableToGetMetadata
- DatabaseMeta.Error.UnableRetrieveDbInfo
- ElasticSearchBulkMeta.Exception.ErrorReadingRepository
- ElasticSearchBulkMeta.Exception.ErrorSavingToRepository
AI-assisted analysis of pentaho/pentaho-kettle@f3058517a1 (2026-09-13).
Data as JSON: /api/errors/670a60f5c300407a.
Report an issue: GitHub.
Appendix: source
Thrown at core/src/main/java/org/pentaho/di/core/row/value/ValueMetaInternetAddress.java:501
try {
int type = rm.getColumnType( index );
if ( type == java.sql.Types.OTHER ) {
String columnTypeName = rm.getColumnTypeName( index );
if ( "INET".equalsIgnoreCase( columnTypeName ) ) {
ValueMetaInternetAddress valueMeta = new ValueMetaInternetAddress( name );
// Also get original column details, comment, etc.
//
getOriginalColumnMetadata( valueMeta, rm, index, ignoreLength );
return valueMeta;
}
}
return null;
} catch ( Exception e ) {
throw new KettleDatabaseException( "Error evaluating Internet address value metadata", e );
}
}
@Override
public Object getValueFromResultSet( DatabaseInterface databaseInterface, ResultSet resultSet, int index ) throws KettleDatabaseException {
try {
return convertStringToInternetAddress( resultSet.getString( index + 1 ) );
} catch ( Exception e ) {
throw new KettleDatabaseException( toStringMeta()
+ " : Unable to get Internet Address from resultset at index " + index, e );
}
}
@OverrideView on GitHub (pinned to f3058517a1)