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
- The
KafkaAvroSerializerandKafkaAvroDeserializernow support a configuration property callednull.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. TheKafkaAvroDeserializeralso 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
- The
KafkaAvroSerializerandKafkaAvroDeserializercan 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 aBigDecimalfield with BYTES type and decimal logical type), you can now properly serialize the records. After deserialization, aGenericRecordis returned, including the typedBigDecimalfield, instead of aByteBuffer. Logical type conversion can be enabled using thelogical.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
registry.yaml.
