schema-registry
schema-registry copied to clipboard
RestClientException: Empty schema, when using Spring Kafka + Protobuf with GraalVM
After compile with GraalVM a Spring Kafka project with Protobuf using property : spring.kafka.properties.schema.registry.url: : https://schema-registry.....
When try produce a protobuf message I got the erros :
2024-02-09T12:11:46.626-03:00 ERROR 28648 --- [ scheduling-1] o.s.s.s.TaskUtils$LoggingErrorHandler : Unexpected error occurred in scheduled task
org.apache.kafka.common.errors.SerializationException: Error registering Protobuf schema: syntax = "proto3";
package lab.plates.producer.proto;
option java_outer_classname = "proto";
option java_multiple_files = true;
option objc_class_prefix = "proto";
message Plate {
string plate = 1;
}
at io.confluent.kafka.serializers.AbstractKafkaSchemaSerDe.toKafkaException(AbstractKafkaSchemaSerDe.java:703) ~[plates-producer.exe:na]
at io.confluent.kafka.serializers.protobuf.AbstractKafkaProtobufSerializer.serializeImpl(AbstractKafkaProtobufSerializer.java:156) ~[plates-producer.exe:na]
at io.confluent.kafka.serializers.protobuf.KafkaProtobufSerializer.serialize(KafkaProtobufSerializer.java:107) ~[plates-producer.exe:na]
at io.confluent.kafka.serializers.protobuf.KafkaProtobufSerializer.serialize(KafkaProtobufSerializer.java:37) ~[plates-producer.exe:na]
at org.apache.kafka.clients.producer.KafkaProducer.doSend(KafkaProducer.java:1000) ~[na:na]
at org.apache.kafka.clients.producer.KafkaProducer.send(KafkaProducer.java:947) ~[na:na]
at org.springframework.kafka.core.DefaultKafkaProducerFactory$CloseSafeProducer.send(DefaultKafkaProducerFactory.java:1050) ~[plates-producer.exe:3.1.0]
at org.springframework.kafka.core.KafkaTemplate.doSend(KafkaTemplate.java:787) ~[plates-producer.exe:3.1.0]
at org.springframework.kafka.core.KafkaTemplate.observeSend(KafkaTemplate.java:756) ~[plates-producer.exe:3.1.0]
at org.springframework.kafka.core.KafkaTemplate.send(KafkaTemplate.java:545) ~[plates-producer.exe:3.1.0]
at lab.plates.producer.producer.PlatesCheckerProducer.lambda$platesToCheck$0(PlatesCheckerProducer.java:26) ~[plates-producer.exe:na]
at [email protected]/java.lang.Iterable.forEach(Iterable.java:75) ~[plates-producer.exe:na]
at lab.plates.producer.producer.PlatesCheckerProducer.platesToCheck(PlatesCheckerProducer.java:26) ~[plates-producer.exe:na]
at [email protected]/java.lang.reflect.Method.invoke(Method.java:568) ~[plates-producer.exe:na]
at org.springframework.scheduling.support.ScheduledMethodRunnable.runInternal(ScheduledMethodRunnable.java:130) ~[na:na]
at org.springframework.scheduling.support.ScheduledMethodRunnable.lambda$run$2(ScheduledMethodRunnable.java:124) ~[na:na]
at io.micrometer.observation.Observation.observe(Observation.java:499) ~[plates-producer.exe:1.12.0]
at org.springframework.scheduling.support.ScheduledMethodRunnable.run(ScheduledMethodRunnable.java:124) ~[na:na]
at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54) ~[plates-producer.exe:6.1.1]
at [email protected]/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539) ~[na:na]
at [email protected]/java.util.concurrent.FutureTask.runAndReset(FutureTask.java:305) ~[plates-producer.exe:na]
at [email protected]/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:305) ~[na:na]
at [email protected]/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) ~[plates-producer.exe:na]
at [email protected]/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) ~[na:na]
at [email protected]/java.lang.Thread.run(Thread.java:842) ~[plates-producer.exe:na]
at org.graalvm.nativeimage.builder/com.oracle.svm.core.thread.PlatformThreads.threadStartRoutine(PlatformThreads.java:807) ~[plates-producer.exe:na]
at org.graalvm.nativeimage.builder/com.oracle.svm.core.windows.WindowsPlatformThreads.osThreadStartRoutine(WindowsPlatformThreads.java:179) ~[na:na]
Caused by: io.confluent.kafka.schemaregistry.client.rest.exceptions.RestClientException: Empty schema; error code: 42201
at io.confluent.kafka.schemaregistry.client.rest.RestService.sendHttpRequest(RestService.java:314) ~[na:na]
at io.confluent.kafka.schemaregistry.client.rest.RestService.httpRequest(RestService.java:384) ~[na:na]
at io.confluent.kafka.schemaregistry.client.rest.RestService.registerSchema(RestService.java:561) ~[na:na]
at io.confluent.kafka.schemaregistry.client.rest.RestService.registerSchema(RestService.java:549) ~[na:na]
at io.confluent.kafka.schemaregistry.client.CachedSchemaRegistryClient.registerAndGetId(CachedSchemaRegistryClient.java:297) ~[na:na]
at io.confluent.kafka.schemaregistry.client.CachedSchemaRegistryClient.register(CachedSchemaRegistryClient.java:404) ~[na:na]
at io.confluent.kafka.schemaregistry.client.CachedSchemaRegistryClient.register(CachedSchemaRegistryClient.java:377) ~[na:na]
at io.confluent.kafka.serializers.protobuf.AbstractKafkaProtobufSerializer.serializeImpl(AbstractKafkaProtobufSerializer.java:118) ~[plates-producer.exe:na]
... 25 common frames omitted
Ex. code : producer_poc_graalvm.zip