{"record":{"id":"80935fc36182a1aa","repo":"apache/seatunnel","slug":"illegal-config-argument-80935f","errorCode":"ILLEGAL_CONFIG_ARGUMENT","errorMessage":"unfold requires a CUSTOMIZE_STRING/NUMBER/UUID endpoint id strategy, but got %s","messagePattern":"unfold requires a CUSTOMIZE_STRING/NUMBER/UUID endpoint id strategy, but got (.+?)","errorType":"validation","errorClass":"HugeGraphConnectorException","httpStatus":null,"severity":"error","filePath":"seatunnel-connectors-v2/connector-hugegraph/src/main/java/org/apache/seatunnel/connectors/seatunnel/hugegraph/mapper/EdgeMapper.java","lineNumber":239,"sourceCode":"        for (Object elem : elements) {\n            if (isConsideredNull(elem)) {\n                continue;\n            }\n            ids.add(coerceCustomizeId(strategy, elem));\n        }\n        return ids;\n    }\n\n    private static Object coerceCustomizeId(IdStrategy strategy, Object elem) {\n        switch (strategy) {\n            case CUSTOMIZE_STRING:\n                return VertexMapper.checkVertexIdLength(String.valueOf(elem));\n            case CUSTOMIZE_NUMBER:\n                return VertexMapper.coerceNumberId(elem);\n            case CUSTOMIZE_UUID:\n                return elem instanceof UUID ? elem : UUID.fromString(String.valueOf(elem));\n            default:\n                throw new HugeGraphConnectorException(\n                        HugeGraphConnectorErrorCode.ILLEGAL_CONFIG_ARGUMENT,\n                        \"unfold requires a CUSTOMIZE_STRING/NUMBER/UUID endpoint id strategy, but got \"\n                                + strategy);\n        }\n    }\n\n    private Edge buildEdge(SeaTunnelRow row, Object sourceId, Object targetId) {\n        Edge edge = new Edge(mappingConfig.getLabel());\n        edge.sourceId(sourceId);\n        edge.targetId(targetId);\n        edge.sourceLabel(mappingConfig.getSourceConfig().getLabel());\n        edge.targetLabel(mappingConfig.getTargetConfig().getLabel());\n\n        Map<String, String> fm = mappingConfig.getFieldMapping();\n        for (String sourceField : propertySourceFields) {\n            Integer index = fieldsIndex.get(sourceField);\n            if (index == null) {\n                continue;","sourceCodeStart":221,"sourceCodeEnd":257,"githubUrl":"https://github.com/apache/seatunnel/blob/cf67b549a7a6c35fa0beb12d83c62892427ea919/seatunnel-connectors-v2/connector-hugegraph/src/main/java/org/apache/seatunnel/connectors/seatunnel/hugegraph/mapper/EdgeMapper.java#L221-L257","documentation":"EdgeMapper.coerceCustomizeId converts unfold values into vertex IDs, but only CUSTOMIZE_STRING, CUSTOMIZE_NUMBER and CUSTOMIZE_UUID IdStrategies are supported for this path. Any other strategy reaches the default branch and throws ILLEGAL_CONFIG_ARGUMENT.","triggerScenarios":"Calling coerceCustomizeId (via buildVertexIdList) with unfold data while the endpoint vertex's id_strategy is PRIMARY_KEY, AUTOMATIC, or another non-customize strategy.","commonSituations":"Configuring unfold for edge endpoints while vertices use automatic/primary-key ID generation; changing a vertex id_strategy without updating unfold usage.","solutions":["Set the endpoint vertex id_strategy to CUSTOMIZE_STRING, CUSTOMIZE_NUMBER, or CUSTOMIZE_UUID","Remove the unfold configuration if IDs should be server-generated","Ensure unfold values are plain id values, not primary-key field maps"],"exampleFix":"// before\nvertex = { id_strategy = \"AUTOMATIC\" }\n// after\nvertex = { id_strategy = \"CUSTOMIZE_STRING\" }","handlingStrategy":"validation","validationCode":"if (unfoldEnabled && strategy != CUSTOMIZE_STRING && strategy != CUSTOMIZE_NUMBER && strategy != CUSTOMIZE_UUID) {\n  throw new IllegalArgumentException(\"unfold requires a CUSTOMIZE_* id strategy\");\n}","typeGuard":null,"tryCatchPattern":"try { edgeMapper.map(row); } catch (HugeGraphConnectorException e) { if (e.getMessage().contains(\"unfold requires\")) { /* switch id_strategy to a CUSTOMIZE_* value */ } }","preventionTips":["Only enable unfold with CUSTOMIZE_STRING/NUMBER/UUID strategies","Review vertex id_strategy whenever adding unfold config","Keep unfold and server-generated ids mutually exclusive"],"tags":["hugegraph","mapper","edge","id-strategy"],"backgroundTag":"unsupported-enum-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"}