{"record":{"id":"c03230fd20cf78cc","repo":"apache/seatunnel","slug":"illegal-config-argument-c03230","errorCode":"ILLEGAL_CONFIG_ARGUMENT","errorMessage":"filter value '%s' for property '%s' is not a valid %s.","messagePattern":"filter value '(.+?)' for property '(.+?)' is not a valid (.+?)\\.","errorType":"error_code","errorClass":"HugeGraphConnectorException","httpStatus":null,"severity":"error","filePath":"seatunnel-connectors-v2/connector-hugegraph/src/main/java/org/apache/seatunnel/connectors/seatunnel/hugegraph/source/HugeGraphSourceReader.java","lineNumber":453,"sourceCode":"                    return value instanceof Number\n                            ? ((Number) value).longValue()\n                            : Long.valueOf(raw);\n                case FLOAT:\n                    return value instanceof Number\n                            ? ((Number) value).floatValue()\n                            : Float.valueOf(raw);\n                case DOUBLE:\n                    return value instanceof Number\n                            ? ((Number) value).doubleValue()\n                            : Double.valueOf(raw);\n                case TEXT:\n                case UUID:\n                    return raw;\n                default:\n                    return value;\n            }\n        } catch (RuntimeException e) {\n            throw new HugeGraphConnectorException(\n                    HugeGraphConnectorErrorCode.ILLEGAL_CONFIG_ARGUMENT,\n                    String.format(\n                            \"filter value '%s' for property '%s' is not a valid %s.\",\n                            value, key, dataType),\n                    e);\n        }\n    }\n\n    private void validatePropertyType(String propertyName, SeaTunnelDataType<?> seaTunnelType) {\n        Cardinality cardinality = client.getPropertyCardinality(propertyName);\n        DataType propertyDataType = client.getPropertyDataType(propertyName);\n        boolean serverIsMulti = cardinality != null && cardinality != Cardinality.SINGLE;\n        boolean declaredArray = seaTunnelType.getSqlType() == SqlType.ARRAY;\n\n        if (serverIsMulti && !declaredArray) {\n            // Guides the user to the fix; without this hint, the server's Collection value would\n            // ClassCastException mid-scan against the scalar row builder.\n            throw new HugeGraphConnectorException(","sourceCodeStart":435,"sourceCodeEnd":471,"githubUrl":"https://github.com/apache/seatunnel/blob/cf67b549a7a6c35fa0beb12d83c62892427ea919/seatunnel-connectors-v2/connector-hugegraph/src/main/java/org/apache/seatunnel/connectors/seatunnel/hugegraph/source/HugeGraphSourceReader.java#L435-L471","documentation":"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.","triggerScenarios":"A filter value like \"abc\" for an INT property, or a malformed date/UUID string, is passed through coerceFilterValue and the parse fails.","commonSituations":"String values in HOCON for numeric/date/UUID properties; locale-dependent date formats; passing strings like \"1.5\" to an INT property.","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."],"exampleFix":"// before\nfilter = { age = \"twenty\" }\n// after\nfilter = { age = 20 }","handlingStrategy":"validation","validationCode":"// Coerce filter values with the same rules before submitting:\nswitch (dataType) {\n    case INT: Integer.parseInt(String.valueOf(value)); break;\n    case DATE: java.sql.Date.valueOf(String.valueOf(value)); break;\n    // ... throw on failure before the job runs\n}","typeGuard":"boolean isValidFilterValue(Object v, SeaTunnelDataType<?> t) {\n    try { Object c = coerce(v, t); return c != null; } catch (RuntimeException e) { return false; }\n}","tryCatchPattern":"try { reader.open(); } catch (HugeGraphConnectorException e) {\n    if (e.getErrorCode() == HugeGraphConnectorErrorCode.ILLEGAL_CONFIG_ARGUMENT\n            && e.getMessage().contains(\"is not a valid\")) {\n        // fix the filter value's format per the stated type\n    }\n}","preventionTips":["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"],"tags":["hugegraph","config","type-mismatch","filter"],"backgroundTag":"invalid-config-value","analyzedSha":"cf67b549a7a6c35fa0beb12d83c62892427ea919","analyzedAt":"2026-09-10T21:44:55.265Z","contentChangedAt":"2026-09-10T21:44:55.265Z","schemaVersion":2},"datasetVersion":"2026-09-23T08:17:48.524Z"}