Avro money references fail with "...value for key "type" is not "bytes"..." in SAS® Event Stream Processing


A SAS Event Stream Processing model contains either a Kafka connector using the Avro format or a schema field defined as a rstring.

If the Avro schema contains a reference to a Money type that was defined by a previous schema element, the Kafka connector cannot find the reference. As a result, the processing of the Kafka message fails with the following error:  

[PubSub0040] dfESPavro::logicalDecimalToMoney(): value for key "type" is not "bytes" 
[PubSub0040] dfESPavro::parseRecord(): recursive parseRecord() failed 

In addition, if a functional window tries to process a reference to a rstring field from an input event, the value always returns as null

For example, if the input event contains a field-named message defined as a rstring, <property-xml name="xml"><![CDATA[$message]]></property-xml> always returns null for XML.

The same reference works as expected if you define the message field as a string.

There is no workaround for this issue.