Skip to content

Commit 980b119

Browse files
committedJun 14, 2024
Improved error reporting in kafkasql value deserializer
1 parent 22c5ef8 commit 980b119

File tree

1 file changed

+7
-11
lines changed

1 file changed

+7
-11
lines changed
 

‎app/src/main/java/io/apicurio/registry/storage/impl/kafkasql/serde/KafkaSqlValueDeserializer.java

+7-11
Original file line numberDiff line numberDiff line change
@@ -1,17 +1,15 @@
11
package io.apicurio.registry.storage.impl.kafkasql.serde;
22

3-
import java.util.Optional;
4-
3+
import com.fasterxml.jackson.databind.DeserializationFeature;
4+
import com.fasterxml.jackson.databind.ObjectMapper;
5+
import io.apicurio.registry.storage.impl.kafkasql.KafkaSqlMessage;
56
import org.apache.kafka.common.header.Header;
67
import org.apache.kafka.common.header.Headers;
78
import org.apache.kafka.common.serialization.Deserializer;
89
import org.slf4j.Logger;
910
import org.slf4j.LoggerFactory;
1011

11-
import com.fasterxml.jackson.databind.DeserializationFeature;
12-
import com.fasterxml.jackson.databind.ObjectMapper;
13-
14-
import io.apicurio.registry.storage.impl.kafkasql.KafkaSqlMessage;
12+
import java.util.Optional;
1513

1614
/**
1715
* Kafka deserializer responsible for deserializing the value of a KSQL Kafka message.
@@ -31,7 +29,7 @@ public class KafkaSqlValueDeserializer implements Deserializer<KafkaSqlMessage>
3129
*/
3230
@Override
3331
public KafkaSqlMessage deserialize(String topic, byte[] data) {
34-
// Not supported - must deserializer with headers.
32+
// Not supported - must deserialize with headers.
3533
return null;
3634
}
3735

@@ -48,13 +46,13 @@ public KafkaSqlMessage deserialize(String topic, Headers headers, byte[] data) {
4846
try {
4947
String messageType = extractMessageType(headers);
5048
if (messageType == null) {
51-
log.error("Message missing required header: mt");
49+
log.error("Message missing required message type header: mt");
5250
return null;
5351
}
5452

5553
Class<? extends KafkaSqlMessage> msgClass = KafkaSqlMessageIndex.lookup(messageType);
5654
if (msgClass == null) {
57-
throw new Exception("Unknown KafkaSql message class: " + msgClass);
55+
throw new Exception("Unknown KafkaSql message class for '" + messageType + "'");
5856
}
5957
KafkaSqlMessage message = mapper.readValue(data, msgClass);
6058
return message;
@@ -66,8 +64,6 @@ public KafkaSqlMessage deserialize(String topic, Headers headers, byte[] data) {
6664

6765
/**
6866
* Extracts the UUID from the message. The UUID should be found in a message header.
69-
*
70-
* @param record
7167
*/
7268
private static String extractMessageType(Headers headers) {
7369
return Optional.ofNullable(headers.headers("mt"))

0 commit comments

Comments
 (0)