apache/seatunnel · error · RedisConnectorException
COMMON-06
COMMON-06
Error message
Unsupported format: <format>
What it means
When a schema is configured, buildCatalogTableAndSchema() maps the `format` option to a deserialization schema (json, text, canonical_string?, etc.); an unrecognized format falls to default and throws RedisConnectorException with CommonErrorCode.ILLEGAL_ARGUMENT (COMMON-06). The format determines how Redis values are decoded into SeaTunnel rows.
Solutions
- Use a supported format value exactly as documented (e.g. json, text).
- Remove the format option if you don't define a schema (a simple text table is used).
- Check the connector docs for the supported format list before setting it.
Example fix
// before format = "csv" // after format = "json"
Defensive patterns
Strategy: validation
Validate before calling
Set<String> supported = Set.of("json", "text");
if (schema != null && !supported.contains(format)) throw new IllegalArgumentException("unsupported format: " + format); Prevention
- Use only documented format values
- Remember Redis supports fewer formats than Kafka
- Omit format when no schema is defined
When it happens
Trigger: buildCatalogTableAndSchema() (called via result) receives a `format` value not in the switch's supported set (e.g. 'csv', 'avro', 'JSON' uppercase, or a misspelling) while a schema is defined, so the default branch executes.
Common situations: Users assuming Redis connector supports the same formats as Kafka (avro, protobuf), or supplying uppercase/typo'd values like 'Json' instead of 'json'.
Understand the failure class
Background: Invalid enum value errors: "Unknown type", "Invalid scope", "must be one of" — when a string is not on the library's allowed list — this error's family across 23 libraries.
Related errors
- COMMON-26
- CONFIG_VALIDATION_FAILED
- nodes[ ]: must be in 'host:port' format, got
- Unsupported MQTT sink format:
- A decoding format must override this method to apply…
AI-assisted analysis of apache/seatunnel@cf67b549a7 (2026-09-10).
Data as JSON: /api/errors/7a81d155e95c4b11.
Report an issue: GitHub.
Appendix: source
Thrown at seatunnel-connectors-v2/connector-redis/src/main/java/org/apache/seatunnel/connectors/seatunnel/redis/config/RedisTableConfig.java:196
result.catalogTable = CatalogTableUtil.buildWithConfig(config);
SeaTunnelRowType seaTunnelRowType = result.catalogTable.getSeaTunnelRowType();
// Create deserialization schema based on format
RedisBaseOptions.Format format = config.get(FORMAT);
switch (format) {
case JSON:
result.deserializationSchema =
new JsonDeserializationSchema(result.catalogTable, false, false);
break;
case TEXT:
result.deserializationSchema =
TextDeserializationSchema.builder()
.seaTunnelRowType(seaTunnelRowType)
.delimiter(config.get(FIELD_DELIMITER))
.build();
break;
default:
throw new RedisConnectorException(
CommonErrorCode.ILLEGAL_ARGUMENT, "Unsupported format: " + format);
}
} else {
// No schema specified, use simple text table
result.catalogTable = CatalogTableUtil.buildSimpleTextTable();
result.deserializationSchema = null;
}
// Initialize TablePath
result.tablePath = getTablePath(config, keys);
// Set keyFieldName with default value based on data type
RedisDataType dataType = config.get(DATA_TYPE);
result.keyFieldName = resolveKeyFieldName(config, dataType);
return result;
}
}View on GitHub (pinned to cf67b549a7)