Key Concepts
Schema
Subject
-key or -value suffix.Compatibility
Version
Required Permissions
Schema Types
Subject Naming Convention
Subjects follow a naming pattern based on the topic name:How to Create a Schema
Select Kafka Cluster
Click Create Schema
Enter Subject Name
orders-value).Select Schema Type
- Avro: For compact binary serialization
- JSON: For JSON Schema validation
- Protobuf: For Protocol Buffers
Define Schema
Set Compatibility (Optional)
Create
Example Schemas
Avro SchemaHow to View Schema Details
Find the Schema
Click to Open
Explore Tabs
- Overview: Current schema definition and metadata
- Versions: All registered versions of this schema
- Compatibility: Current compatibility settings
How to Register a New Version
Open Schema Details
Click Register Version
Update Schema
Submit
Compatibility Modes
Compatibility modes control what schema changes are allowed:Choosing a Compatibility Mode
Compatible Changes by Mode
BACKWARD Compatible Changes:- Adding optional fields with defaults
- Removing fields
- Adding fields
- Removing optional fields with defaults
- Changing field types
- Renaming fields
- Removing required fields (BACKWARD)
- Adding required fields (FORWARD)
How to Change Compatibility
Open Schema Details
Go to Compatibility Tab
Select New Mode
Update
How to Delete a Schema
Find the Schema
Click Delete
Confirm
Troubleshooting
Schema registration failed - compatibility error
Schema registration failed - compatibility error
- Your schema change violates the compatibility mode
- Review the error message for specific field issues
- Consider adding default values to new fields
- Temporarily set compatibility to NONE if migration is coordinated
Schema validation error
Schema validation error
- Check JSON syntax (missing commas, brackets)
- Verify Avro type declarations are valid
- Ensure Protobuf syntax matches the declared version
- Use external validators to test schema before registration
Cannot find schema
Cannot find schema
- Verify you’re connected to the correct Kafka cluster
- Check the subject name spelling
- Schema may have been deleted
- Refresh the page or clear filters
Producer/Consumer failing with schema error
Producer/Consumer failing with schema error
- Verify the schema ID exists in the registry
- Check that the client is configured to use schema registry
- Ensure network connectivity to schema registry endpoint
- Verify authentication credentials if required
Cannot delete schema
Cannot delete schema
- You need delete permission
- Check if the schema is referenced by other subjects
- Verify the schema registry is healthy
FAQ
What happens when I delete a schema?
What happens when I delete a schema?
Can I have multiple schemas for one topic?
Can I have multiple schemas for one topic?
topic-key) and one for the value (topic-value). Each can have different schemas and evolve independently.How do schema IDs work?
How do schema IDs work?
What's the difference between version and ID?
What's the difference between version and ID?
Should I use Avro, JSON, or Protobuf?
Should I use Avro, JSON, or Protobuf?
Can I change schema type after creation?
Can I change schema type after creation?
How do I handle breaking changes?
How do I handle breaking changes?
What's the recommended workflow for schema changes?
What's the recommended workflow for schema changes?
- Test the new schema locally
- Register in development environment
- Update consumers first (for BACKWARD compatibility)
- Update producers
- Promote to production following the same order
Best Practices
Schema Design
- Include optional fields with defaults for future extensibility
- Use meaningful field names that describe the data
- Add documentation/comments to complex schemas
- Version your schemas in source control
Compatibility Strategy
- Use BACKWARD compatibility for most use cases
- Use FULL_TRANSITIVE for critical data pipelines
- Avoid NONE in production except during coordinated migrations
- Test compatibility changes in non-production first
Naming Conventions
Follow consistent naming patterns:Evolution Guidelines
- Always add new fields as optional with defaults
- Never remove required fields
- Never change field types
- Use union types (Avro) or oneOf (JSON) for flexible fields
- Document breaking changes and migration plans