简体   繁体   English

SerializationException:反序列化 Avro 消息时出错 (StringIndexOutOfBoundsException)

[英]SerializationException: Error deserializing Avro message (StringIndexOutOfBoundsException)

I've run into this error when KafkaStream tries to deserialise the Arvo message:当 KafkaStream 尝试反序列化 Arvo 消息时,我遇到了这个错误:

[filtering-app-6adef284-11eb-48f8-8ca0-cde7da5224ab-StreamThread-1] ERROR org.apache.kafka.streams.KafkaStreams - stream-client [filtering-app-6adef284-11eb-48f8-8ca0-cde7da5224ab] All stream threads have died. The instance will be in error state and should be closed.
[filtering-app-6adef284-11eb-48f8-8ca0-cde7da5224ab-StreamThread-1] INFO org.apache.kafka.streams.processor.internals.StreamThread - stream-thread [filtering-app-6adef284-11eb-48f8-8ca0-cde7da5224ab-StreamThread-1] Shutdown complete
Exception in thread "filtering-app-6adef284-11eb-48f8-8ca0-cde7da5224ab-StreamThread-1" org.apache.kafka.streams.errors.StreamsException: Deserialization exception handler is set to fail upon a deserialization error. If you would rather have the streaming pipeline continue after a deserialization error, please set the default.deserialization.exception.handler appropriately.
    at org.apache.kafka.streams.processor.internals.RecordDeserializer.deserialize(RecordDeserializer.java:80)
    at org.apache.kafka.streams.processor.internals.RecordQueue.maybeUpdateTimestamp(RecordQueue.java:160)

The cause exception was:原因异常是:

Caused by: org.apache.kafka.common.errors.SerializationException: Error deserializing Avro message for id 1
Caused by: java.lang.RuntimeException: java.lang.StringIndexOutOfBoundsException: begin 1, end 0, length 1
    at java.base/sun.net.www.protocol.http.HttpURLConnection.getInputStream0(HttpURLConnection.java:1529)

and

Caused by: java.lang.StringIndexOutOfBoundsException: begin 1, end 0, length 1
    at java.base/java.lang.String.checkBoundsBeginEnd(String.java:3319)
    at java.base/java.lang.String.substring(String.java:1874)

The avro configuration is straigthforward: avro 配置很简单:

{
  "namespace": "io.confluent.developer.avro",
  "type": "record",
  "name": "Publication",
  "fields": [
    {"name": "name", "type": "string"},
    {"name": "title", "type": "string"}
  ]
}

which is from this tutorial: https://kafka-tutorials.confluent.io/filter-a-stream-of-events/kstreams.html .这是来自本教程: https://kafka-tutorials.confluent.io/filter-a-stream-of-events/kstreams.html The producer serialises the input string "{"name": "George R.生产者序列化输入字符串 "{"name": "George R。 R. R。 Martin", "title": "A Dream of Spring"}" with no problem, but then the KafkaStream which basically tries to filter the event failed to deserialise the object to perform the Java filtering logic... Martin", "title": "A Dream of Spring"}" 没有问题,但是基本上试图过滤事件的 KafkaStream 未能反序列化 object 以执行 Java 过滤逻辑......

Has anyone encountered this problem before?有没有人遇到过这个问题? Appreciate any suggestions!感谢任何建议!

Found the issue: a proxy gets in the way.发现问题:代理妨碍了。

The root cause was that the app can't connect to schema-registry.根本原因是应用程序无法连接到模式注册表。 Just note it here in case someone runs into the same problem later.请注意这里,以防以后有人遇到同样的问题。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

相关问题 发送 avro 消息时出现异常,异常是 org.apache.kafka.common.errors.SerializationException:注册 Avro 架构时出错: - Getting exception while sending avro message, exception is org.apache.kafka.common.errors.SerializationException: Error registering Avro schema: Avro 消息 - InvalidNumberEncodingException 反序列化逻辑类型日期 - Avro Message - InvalidNumberEncodingException deserializing logicalType date 反序列化 Avro 消息时出错 - java.nio.HeapByteBuffer 无法转换为 java.math.BigDecimal 类 - Error deserializing Avro message - java.nio.HeapByteBuffer cannot be cast to class java.math.BigDecimal StringIndexOutOfBoundsException错误 - StringIndexOutOfBoundsException Error StringIndexOutOfBoundsException 错误 - StringIndexOutOfBoundsException Error 将字节缓冲区反序列化为 Avro - Deserializing Byte Buffer to Avro 反序列化 avro 很慢 - Deserializing avro is slow 调用SOAP方法时出错:反序列化消息时出错 - Error calling SOAP method: Error deserializing message 错误序列化 Avro 消息 - Kafka Schema Registry - Error serializing Avro message - Kafka Schema Registry 主方法中的StringIndexOutOfBoundsException错误 - StringIndexOutOfBoundsException error in main method
 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM