pentaho/pentaho-kettle · error · KettleValueException
: We can't convert data type to an original (V2) Value
Error message
: We can't convert data type to an original (V2) Value
What it means
Default-branch sentinel in ValueMetaBase.getLegacyValue(): this value's storage metadata type matches none of the cases that can be mapped onto the legacy (V2) Value object, so the old-style Value cannot be built. The input at fault is the value's unsupported/unknown type code.
Solutions
- Avoid serializing this field to the legacy V2 Value format; use modern row serialization
- Change the field to one of the supported types (String, Number, Integer, Date, Boolean, BigNumber, Binary)
Defensive patterns
Strategy: validation
When it happens
Trigger: Thrown at core/src/main/java/org/pentaho/di/core/row/value/ValueMetaBase.java:4254 when the library encounters an invalid state.
Common situations: See trigger scenarios.
AI-assisted analysis of pentaho/pentaho-kettle@f3058517a1 (2026-09-13).
Data as JSON: /api/errors/6d6f71a86635511b.
Report an issue: GitHub.
Appendix: source
Thrown at core/src/main/java/org/pentaho/di/core/row/value/ValueMetaBase.java:4254
value.setValue( getNumber( data ).doubleValue() );
break;
case TYPE_INTEGER:
value.setValue( getInteger( data ).longValue() );
break;
case TYPE_DATE:
value.setValue( getDate( data ) );
break;
case TYPE_BOOLEAN:
value.setValue( getBoolean( data ).booleanValue() );
break;
case TYPE_BIGNUMBER:
value.setValue( getBigNumber( data ) );
break;
case TYPE_BINARY:
value.setValue( getBinary( data ) );
break;
default:
throw new KettleValueException( toString() + " : We can't convert data type " + getTypeDesc()
+ " to an original (V2) Value" );
}
}
return value;
}
/**
* Extracts the primitive data from an old style Value object
*
* @param value
* the old style Value object
* @return the value's data, NOT the meta data.
* @throws KettleValueException
* case there is a data conversion problem
*/
@Override
public Object getValueData( Value value ) throws KettleValueException {
if ( value == null || value.isNull() ) {View on GitHub (pinned to f3058517a1)