From 095f6cd2c5ed0ac3f605acba0e4a69aa904d3eee Mon Sep 17 00:00:00 2001 From: Robert Yokota Date: Fri, 7 Jul 2023 17:25:56 -0700 Subject: [PATCH] DGS-7446 Fix perf regression due to DGS-6331 (#2693) --- .../io/confluent/kafka/schemaregistry/json/JsonSchema.java | 4 ++++ .../serializers/json/AbstractKafkaJsonSchemaDeserializer.java | 2 +- 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/json-schema-provider/src/main/java/io/confluent/kafka/schemaregistry/json/JsonSchema.java b/json-schema-provider/src/main/java/io/confluent/kafka/schemaregistry/json/JsonSchema.java index 28eb180d685..a1958910b97 100644 --- a/json-schema-provider/src/main/java/io/confluent/kafka/schemaregistry/json/JsonSchema.java +++ b/json-schema-provider/src/main/java/io/confluent/kafka/schemaregistry/json/JsonSchema.java @@ -222,6 +222,10 @@ public String name() { return getString("title"); } + public boolean has(String key) { + return jsonNode.has(key); + } + public String getString(String key) { return jsonNode.has(key) ? jsonNode.get(key).asText() : null; } diff --git a/json-schema-serializer/src/main/java/io/confluent/kafka/serializers/json/AbstractKafkaJsonSchemaDeserializer.java b/json-schema-serializer/src/main/java/io/confluent/kafka/serializers/json/AbstractKafkaJsonSchemaDeserializer.java index 2b4262761bd..291141e74ec 100644 --- a/json-schema-serializer/src/main/java/io/confluent/kafka/serializers/json/AbstractKafkaJsonSchemaDeserializer.java +++ b/json-schema-serializer/src/main/java/io/confluent/kafka/serializers/json/AbstractKafkaJsonSchemaDeserializer.java @@ -138,7 +138,7 @@ protected Object deserialize( : objectMapper.readValue(buffer.array(), start, length, type); } else { String typeName; - if (schema.rawSchema() instanceof CombinedSchema) { + if (schema.has("oneOf") || schema.has("anyOf") || schema.has("allOf")) { if (jsonNode == null) { jsonNode = objectMapper.readValue(buffer.array(), start, length, JsonNode.class); }