apache/pulsar · error · InvalidSchemaDataException
Invalid schema definition data for
Error message
Invalid schema definition data for
What it means
throwInvalidSchemaDataException is the StructSchemaDataValidator's generic rejection for schema definition bytes that fail avro parsing/validation — the registered schema payload is not a valid struct (avro) schema for the given schema type.
Source
Thrown at pulsar-broker/src/main/java/org/apache/pulsar/broker/service/schema/validator/StructSchemaDataValidator.java:108
switch (schema.getType()) {
case RECORD: {
break;
}
case UNION: {
throw new InvalidSchemaDataException(
"Avro schema typed [UNION] is not supported");
}
default: {
// INT, LONG, FLOAT, DOUBLE, BOOLEAN, STRING, BYTES.
// ARRAY, MAP, FIXED, NULL.
LOGGER.info().attr("type", schema.getType()).log("Registering a special avro schema");
}
}
}
private static void throwInvalidSchemaDataException(SchemaData schemaData,
Throwable cause) throws InvalidSchemaDataException {
throw new InvalidSchemaDataException("Invalid schema definition data for "
+ schemaData.getType() + " schema", cause);
}
static class CompatibleNameValidator implements NameValidator {
@Override
public Result validate(String name) {
if (name == null) {
return new Result("Null name");
}
final int length = name.length();
if (length == 0) {
return new Result("Empty name");
}
final char first = name.charAt(0);
if (!(Character.isLetter(first) || first == '_' || first == '$')) {
return new Result("Illegal initial character: " + name);
}View on GitHub (pinned to 820761864e)
Solutions
- Fix the Avro schema JSON so it parses cleanly
- Ensure the schema payload is not truncated or double-encoded
Defensive patterns
Strategy: validation
When it happens
Trigger: Thrown at pulsar-broker/src/main/java/org/apache/pulsar/broker/service/schema/validator/StructSchemaDataValidator.java:108 when the library encounters an invalid state.
Common situations: See trigger scenarios.
AI-assisted analysis of apache/pulsar@820761864e (2026-09-06).
Data as JSON: /api/errors/5a8b5848447cb911.
Report an issue: GitHub.