apache/seatunnel · error · HugeGraphConnectorException
ILLEGAL_CONFIG_ARGUMENT
ILLEGAL_CONFIG_ARGUMENT
Error message
filter value '%s' for property '%s' is not a valid %s.
What it means
Filter values are coerced to the property's declared data type; if the value cannot be parsed/converted (RuntimeException during coercion), the connector throws ILLEGAL_CONFIG_ARGUMENT naming the value, property, and expected type.
Solutions
- Change the filter value to a valid representation of the property's type (e.g. 20 not "abc" for INT).
- Match the expected format exactly (e.g. ISO date for DATE, canonical UUID string).
- Check the error message's trailing type name for what was expected.
Example fix
// before
filter = { age = "twenty" }
// after
filter = { age = 20 } Defensive patterns
Strategy: validation
Validate before calling
// Coerce filter values with the same rules before submitting:
switch (dataType) {
case INT: Integer.parseInt(String.valueOf(value)); break;
case DATE: java.sql.Date.valueOf(String.valueOf(value)); break;
// ... throw on failure before the job runs
} Type guard
boolean isValidFilterValue(Object v, SeaTunnelDataType<?> t) {
try { Object c = coerce(v, t); return c != null; } catch (RuntimeException e) { return false; }
} Try / catch
try { reader.open(); } catch (HugeGraphConnectorException e) {
if (e.getErrorCode() == HugeGraphConnectorErrorCode.ILLEGAL_CONFIG_ARGUMENT
&& e.getMessage().contains("is not a valid")) {
// fix the filter value's format per the stated type
}
} Prevention
- Use native types in HOCON for numeric filters (20 not "20")
- Use ISO-8601 for DATE/TIMESTAMP values
- Test filter coercion locally before submitting the job
When it happens
Trigger: A filter value like "abc" for an INT property, or a malformed date/UUID string, is passed through coerceFilterValue and the parse fails.
Common situations: String values in HOCON for numeric/date/UUID properties; locale-dependent date formats; passing strings like "1.5" to an INT property.
Understand the failure class
Background: "Invalid value" and "allowed values are" config errors: what your library rejected and how to fix it — this error's family across 41 libraries.
Related errors
- ILLEGAL_CONFIG_ARGUMENT
- Both 'mappings' and 'schema_config' are present…
- HugeGraphConnectorErrorCode.ILLEGAL_CONFIG_ARGUMENT
- HugeGraphConnectorErrorCode.INVALID_GRAPH_SCHEMA
- ILLEGAL_CONFIG_ARGUMENT
AI-assisted analysis of apache/seatunnel@cf67b549a7 (2026-09-10).
Data as JSON: /api/errors/c03230fd20cf78cc.
Report an issue: GitHub.
Appendix: source
Thrown at seatunnel-connectors-v2/connector-hugegraph/src/main/java/org/apache/seatunnel/connectors/seatunnel/hugegraph/source/HugeGraphSourceReader.java:453
return value instanceof Number
? ((Number) value).longValue()
: Long.valueOf(raw);
case FLOAT:
return value instanceof Number
? ((Number) value).floatValue()
: Float.valueOf(raw);
case DOUBLE:
return value instanceof Number
? ((Number) value).doubleValue()
: Double.valueOf(raw);
case TEXT:
case UUID:
return raw;
default:
return value;
}
} catch (RuntimeException e) {
throw new HugeGraphConnectorException(
HugeGraphConnectorErrorCode.ILLEGAL_CONFIG_ARGUMENT,
String.format(
"filter value '%s' for property '%s' is not a valid %s.",
value, key, dataType),
e);
}
}
private void validatePropertyType(String propertyName, SeaTunnelDataType<?> seaTunnelType) {
Cardinality cardinality = client.getPropertyCardinality(propertyName);
DataType propertyDataType = client.getPropertyDataType(propertyName);
boolean serverIsMulti = cardinality != null && cardinality != Cardinality.SINGLE;
boolean declaredArray = seaTunnelType.getSqlType() == SqlType.ARRAY;
if (serverIsMulti && !declaredArray) {
// Guides the user to the fix; without this hint, the server's Collection value would
// ClassCastException mid-scan against the scalar row builder.
throw new HugeGraphConnectorException(View on GitHub (pinned to cf67b549a7)