What's New in Schema Registry
Learn about the new features of Schema Registry in Cloudera Runtime 7.2.17.
KafkaAvroSerializer and KafkaAvroDeserializer improvements
- KafkaAvroSerializer and KafkaAvroDeserializer can now handle null values without Avro
KafkaAvroDeserializernow support a configuration property called
null.passthrough.enabled, which is false by default. If enabled, null data is handled as null, and no schema is sent to Schema Registry. This behavior enables client applications to write tombstone messages into compact topics. The
KafkaAvroDeserializeralso handles null values by returning null without any regards to the schema.
- Support deserialization when the topic and schema names don't match
- From now on, the
KafkaAvroDeserializeruses the schema version's ID in the Avro byte stream to access the actual schema and disregards schema names.
- Logical types conversion for the KafkaAvroSerliazier and KafkaAvroDesrializer
KafkaAvroDeserializercan now properly handle and convert Avro logical types at a record level. This means that if you have a record that has a field with a built-in Avro logical type (for example a
BigDecimalfield with BYTES type and decimal logical type), you can now properly serialize the records. After deserialization, a
GenericRecordis returned, including the typed
BigDecimalfield, instead of a
ByteBuffer. Logical type conversion can be enabled using the
logical.type.conversion.enabledproperty. This property is set to false by default for backward compatibility.
Principal mapping rules can be defined without quotes
The SSL Client Authentication Mapping Rules
schema.registry.ssl.principal.mapping.rules) property now accepts rules that
are defined without quotes. As a result, when adding multiple rules, you no longer need to
enclose each rule in quotes.
Remove modules section from registry.yaml
In previous versions, the
registry.yaml configuration file contained a
modules section. This section was used to list pluggable modules that extended Schema Registry’s
functionality. However, modules were never fully supported and have been removed in a previous
release. The modules section in
registry.yaml was kept for backwards
compatibility. Starting with this version, the modules section is removed by default from