chia7712 commented on code in PR #19449:
URL: https://github.com/apache/kafka/pull/19449#discussion_r2366265725
##########
connect/json/src/main/java/org/apache/kafka/connect/json/JsonConverter.java:
##########
@@ -340,13 +351,16 @@ public SchemaAndValue toConnectData(String topic, byte[]
value) {
throw new DataException("Converting byte[] to Kafka Connect data
failed due to serialization error: ", e);
}
- if (config.schemasEnabled() && (!jsonValue.isObject() ||
jsonValue.size() != 2 || !jsonValue.has(JsonSchema.ENVELOPE_SCHEMA_FIELD_NAME)
|| !jsonValue.has(JsonSchema.ENVELOPE_PAYLOAD_FIELD_NAME)))
- throw new DataException("JsonConverter with schemas.enable
requires \"schema\" and \"payload\" fields and may not contain additional
fields." +
+ if (config.schemasEnabled()) {
+ if (schema != null) {
+ return new SchemaAndValue(schema, convertToConnect(schema,
jsonValue, config));
Review Comment:
> In this case, the method uses the corresponding schemas within each of the
serialized values and keys, which I think maybe it's the expected behavior.
What do you think?
yes, that is expected behavior.
The scenario I mentioned was `schema.content` is NOT null and the
`jsonValue` has both fields `payload` and `schema`
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]