{"record":{"id":"b2efee3c27d79f7d","repo":"apache/seatunnel","slug":"option-ignored-fields-is-deprecated-use-proper","errorCode":null,"errorMessage":"Option 'ignored_fields' is deprecated. Use 'properties' within each mapping instead.","messagePattern":"Option 'ignored_fields' is deprecated\\. Use 'properties' within each mapping instead\\.","errorType":"console","errorClass":null,"httpStatus":null,"severity":"warning","filePath":"seatunnel-connectors-v2/connector-hugegraph/src/main/java/org/apache/seatunnel/connectors/seatunnel/hugegraph/config/HugeGraphSinkConfig.java","lineNumber":145,"sourceCode":"                        .orElse(\n                                HugeGraphSinkOptions.ALLOW_CASCADE_DELETE_UNMAPPED_EDGES\n                                        .defaultValue()));\n        sinkConfig.setDataSaveMode(\n                config.getOptional(HugeGraphSinkOptions.DATA_SAVE_MODE)\n                        .orElse(HugeGraphSinkOptions.DATA_SAVE_MODE.defaultValue()));\n\n        // Deprecated fields (parse but warn)\n        config.getOptional(HugeGraphSinkOptions.SELECTED_FIELDS)\n                .ifPresent(\n                        fields -> {\n                            LOG.warn(\n                                    \"Option 'selected_fields' is deprecated. Use 'properties' within each mapping instead.\");\n                            sinkConfig.setSelectedFields(fields);\n                        });\n        config.getOptional(HugeGraphSinkOptions.IGNORED_FIELDS)\n                .ifPresent(\n                        fields -> {\n                            LOG.warn(\n                                    \"Option 'ignored_fields' is deprecated. Use 'properties' within each mapping instead.\");\n                            sinkConfig.setIgnoredFields(fields);\n                        });\n\n        return sinkConfig;\n    }\n\n    /**\n     * Converts legacy global field selection into the mapping property list. The old writer ignored\n     * {@code schema_config.properties} and wrote all fields after applying selected/ignored fields,\n     * so preserving that behavior requires the input row schema.\n     */\n    public void applyLegacyFieldSelection(SeaTunnelRowType rowType) {\n        if (schemaConfig == null || mappings == null || mappings.isEmpty()) {\n            return;\n        }\n\n        List<String> effectiveFields;","sourceCodeStart":127,"sourceCodeEnd":163,"githubUrl":"https://github.com/apache/seatunnel/blob/cf67b549a7a6c35fa0beb12d83c62892427ea919/seatunnel-connectors-v2/connector-hugegraph/src/main/java/org/apache/seatunnel/connectors/seatunnel/hugegraph/config/HugeGraphSinkConfig.java#L127-L163","documentation":"This is a deprecation warning emitted by HugeGraphSinkConfig.of() when the legacy top-level option 'ignored_fields' is present. The option is still parsed and honored (sets ignoredFields on the config) but is superseded by per-mapping 'properties' declarations. It is a heads-up that support will be removed and to migrate now.","triggerScenarios":"A HugeGraph sink job config contains the option 'ignored_fields' (HugeGraphSinkOptions.IGNORED_FIELDS); HugeGraphSinkConfig.of() reads it via config.getOptional and logs this warning before setting it on the sink config.","commonSituations":"Old configs that excluded columns by blacklisting instead of whitelisting; users migrating from older connector versions; copied template configs that still carry the legacy option.","solutions":["Remove 'ignored_fields' and instead declare exactly the fields you want under 'properties' in each mapping entry.","Audit the previously ignored fields to confirm they are indeed absent from the new 'properties' maps (whitelist semantics replace blacklist semantics).","Run a small validation job to confirm the sink writes the expected property set."],"exampleFix":"// before\nsink {\n  HugeGraph {\n    ignored_fields = [\"temp_col\"]\n  }\n}\n// after\nsink {\n  HugeGraph {\n    mappings = [\n      {\n        type = \"VERTEX\"\n        label = \"person\"\n        properties = {id = \"id\", name = \"name\"} // temp_col intentionally omitted\n      }\n    ]\n  }\n}","handlingStrategy":"validation","validationCode":"if (config.hasPath(\"ignored_fields\")) {\n    throw new IllegalArgumentException(\"ignored_fields is deprecated; express field selection via mappings[].properties instead\");\n}","typeGuard":null,"tryCatchPattern":null,"preventionTips":["Express field selection as a whitelist in mappings[].properties rather than a blacklist","Remove legacy options when upgrading connector versions","Run a small validation job after migration to confirm the written property set"],"tags":["deprecation","config","hugegraph"],"backgroundTag":"deprecated-api-usage","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"}