-
Bug
-
Resolution: Done
-
Critical
-
0.3
-
None
The MongoDB connector generates the Kafka schema name based upon the logical name, database name, collection name, and other suffixes (e.g., .Key, .Envelope, etc.), and the MySQL connector does the same thing with the fully-qualified table names. While Kafka schema names can contain any characters, when using the Avro Converter these Kafka schemas are mapped into Avro schemas, and Avro schema names are limited to [A-Za-z_] for the first character and [A-Za-z_0-9], with the . character used to delimit names in namespaces (see the Avro specification).
Since MongoDB has few restrictions on the characters that can be used in a database name or collection name, any database or collection name with characters that don't satisfy Avro will create problems when using the Avro Connector.
The MongoDB connector should either remove or replace characters in the Kafka schema names that are not valid per Avro.