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

  1. Fix the Avro schema JSON so it parses cleanly
  2. 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.