【问题标题】:Amazon Kinesis KPL SerializationExceptionAmazon Kinesis KPL 序列化异常
【发布时间】:2016-07-07 17:23:30
【问题描述】:

我明白了

2016-03-21 10:17:19.915081] [0x00007f539b023740] [error] [retrier.cc:59] PutRecords failed: {"__type":"SerializationException"}

使用以下 Java 堆栈跟踪:

Caused by: com.amazonaws.services.kinesis.producer.UserRecordFailedException
at com.amazonaws.services.kinesis.producer.KinesisProducer$MessageHandler.onPutRecordResult(KinesisProducer.java:188)
at com.amazonaws.services.kinesis.producer.KinesisProducer$MessageHandler.access$000(KinesisProducer.java:127)
at com.amazonaws.services.kinesis.producer.KinesisProducer$MessageHandler$1.run(KinesisProducer.java:134)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
at java.util.concurrent.FutureTask.run(FutureTask.java:266)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
at java.lang.Thread.run(Thread.java:745)

怎么了?

【问题讨论】:

    标签: aws-sdk amazon-kinesis amazon-kinesis-kpl


    【解决方案1】:

    在我们的例子中,原因是 PartitionKey 包含引号字符 (")。 documentation 并没有禁止这样做,而是可能是 KPL 中的 c++ 代码中的“字符串注入”问题。因此,在调用 kp.addUserRecord(streamName, partitionKey, data); 时,请确保 partitionKey 不包含任何引号字符。

    【讨论】:

    • AFAIK,分区键也不能包含“-”(破折号)字符。
    猜你喜欢
    • 2021-08-10
    • 2018-06-27
    • 1970-01-01
    • 1970-01-01
    • 2014-04-18
    • 2010-12-15
    • 2023-03-16
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多