apache/seatunnel · warning
Option 'ignored_fields' is deprecated. Use 'properties'…
Error message
Option 'ignored_fields' is deprecated. Use 'properties' within each mapping instead.
What it means
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.
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.
Example fix
// before
sink {
HugeGraph {
ignored_fields = ["temp_col"]
}
}
// after
sink {
HugeGraph {
mappings = [
{
type = "VERTEX"
label = "person"
properties = {id = "id", name = "name"} // temp_col intentionally omitted
}
]
}
} Defensive patterns
Strategy: validation
Validate before calling
if (config.hasPath("ignored_fields")) {
throw new IllegalArgumentException("ignored_fields is deprecated; express field selection via mappings[].properties instead");
} Prevention
- 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
When it happens
Trigger: 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.
Common situations: 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.
Understand the failure class
Background: "is deprecated and will be removed" — deprecation warnings for old API names, keywords, and options, and how to migrate before the removal release — this error's family across 29 libraries.
Related errors
- Both 'mappings' and 'schema_config' are present…
- Option 'selected_fields' is deprecated. Use 'properties'…
- 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/b2efee3c27d79f7d.
Report an issue: GitHub.
Appendix: source
Thrown at seatunnel-connectors-v2/connector-hugegraph/src/main/java/org/apache/seatunnel/connectors/seatunnel/hugegraph/config/HugeGraphSinkConfig.java:145
.orElse(
HugeGraphSinkOptions.ALLOW_CASCADE_DELETE_UNMAPPED_EDGES
.defaultValue()));
sinkConfig.setDataSaveMode(
config.getOptional(HugeGraphSinkOptions.DATA_SAVE_MODE)
.orElse(HugeGraphSinkOptions.DATA_SAVE_MODE.defaultValue()));
// Deprecated fields (parse but warn)
config.getOptional(HugeGraphSinkOptions.SELECTED_FIELDS)
.ifPresent(
fields -> {
LOG.warn(
"Option 'selected_fields' is deprecated. Use 'properties' within each mapping instead.");
sinkConfig.setSelectedFields(fields);
});
config.getOptional(HugeGraphSinkOptions.IGNORED_FIELDS)
.ifPresent(
fields -> {
LOG.warn(
"Option 'ignored_fields' is deprecated. Use 'properties' within each mapping instead.");
sinkConfig.setIgnoredFields(fields);
});
return sinkConfig;
}
/**
* Converts legacy global field selection into the mapping property list. The old writer ignored
* {@code schema_config.properties} and wrote all fields after applying selected/ignored fields,
* so preserving that behavior requires the input row schema.
*/
public void applyLegacyFieldSelection(SeaTunnelRowType rowType) {
if (schemaConfig == null || mappings == null || mappings.isEmpty()) {
return;
}
List<String> effectiveFields;View on GitHub (pinned to cf67b549a7)