Flink CDC在哪里可以找到url报错提示?2023-12-29 15:46:13,679 INFO org.apache.flink.runtime.executiongraph.ExecutionGraph [] - PostPartition -> Sink Writer: Flink CDC Event Sink: doris (2/2) (1bfb69437c9c0738b939451580a4b13d_d40592faea9b13cc59503ebfb2b12986_1_0) switched from RUNNING to FAILED on localhost:41501-f31b91 @ localhost (dataPort=36234).
java.lang.ArrayIndexOutOfBoundsException: 608
at sun.util.calendar.BaseCalendar.getCalendarDateFromFixedDate(BaseCalendar.java:453) ~[?:1.8.0_192]
at java.util.GregorianCalendar.computeFields(GregorianCalendar.java:2397) ~[?:1.8.0_192]
at java.util.GregorianCalendar.computeFields(GregorianCalendar.java:2312) ~[?:1.8.0_192]
at java.util.Calendar.complete(Calendar.java:2268) ~[?:1.8.0_192]
at java.util.Calendar.get(Calendar.java:1826) ~[?:1.8.0_192]
at java.text.SimpleDateFormat.subFormat(SimpleDateFormat.java:1119) ~[?:1.8.0_192]
at java.text.SimpleDateFormat.format(SimpleDateFormat.java:966) ~[?:1.8.0_192]
at java.text.SimpleDateFormat.format(SimpleDateFormat.java:936) ~[?:1.8.0_192]
at java.text.DateFormat.format(DateFormat.java:345) ~[?:1.8.0_192]
at com.ververica.cdc.connectors.doris.sink.DorisRowConverter.lambda$createExternalConverter$269fc3df$10(DorisRowConverter.java:103) ~[?:?]
at com.ververica.cdc.connectors.doris.sink.DorisRowConverter.lambda$wrapIntoNullableExternalConverter$e3b7006a$1(DorisRowConverter.java:69) ~[?:?]
at com.ververica.cdc.connectors.doris.sink.DorisEventSerializer.serializerRecord(DorisEventSerializer.java:127) ~[?:?]
at com.ververica.cdc.connectors.doris.sink.DorisEventSerializer.applyDataChangeEvent(DorisEventSerializer.java:98) ~[?:?]
at com.ververica.cdc.connectors.doris.sink.DorisEventSerializer.serialize(DorisEventSerializer.java:69) ~[?:?]
at com.ververica.cdc.connectors.doris.sink.DorisEventSerializer.serialize(DorisEventSerializer.java:48) ~[?:?]
at org.apache.doris.flink.sink.batch.DorisBatchWriter.write(DorisBatchWriter.java:96) ~[?:?]
at org.apache.flink.streaming.runtime.operators.sink.SinkWriterOperator.processElement(SinkWriterOperator.java:161) ~[flink-dist-1.18.0.jar:1.18.0]
at com.ververica.cdc.runtime.operators.sink.DataSinkWriterOperator.processElement(DataSinkWriterOperator.java:154) ~[?:?]
at org.apache.flink.streaming.runtime.tasks.CopyingChainingOutput.pushToOperator(CopyingChainingOutput.java:75) ~[flink-dist-1.18.0.jar:1.18.0]
at org.apache.flink.streaming.runtime.tasks.CopyingChainingOutput.collect(CopyingChainingOutput.java:50) ~[flink-dist-1.18.0.jar:1.18.0]
at org.apache.flink.streaming.runtime.tasks.CopyingChainingOutput.collect(CopyingChainingOutput.java:29) ~[flink-dist-1.18.0.jar:1.18.0]
at org.apache.flink.streaming.api.operators.StreamMap.processElement(StreamMap.java:38) ~[flink-dist-1.18.0.jar:1.18.0]
at org.apache.flink.streaming.runtime.tasks.OneInputStreamTask$StreamTaskNetworkOutput.emitRecord(OneInputStreamTask.java:237) ~[flink-dist-1.18.0.jar:1.18.0]
at org.apache.flink.streaming.runtime.io.AbstractStreamTaskNetworkInput.processElement(AbstractStreamTaskNetworkInput.java:146) ~[flink-dist-1.18.0.jar:1.18.0]
at org.apache.flink.streaming.runtime.io.AbstractStreamTaskNetworkInput.emitNext(AbstractStreamTaskNetworkInput.java:110) ~[flink-dist-1.18.0.jar:1.18.0]
at org.apache.flink.streaming.runtime.io.StreamOneInputProcessor.processInput(StreamOneInputProcessor.java:65) ~[flink-dist-1.18.0.jar:1.18.0]
at org.apache.flink.streaming.runtime.tasks.StreamTask.processInput(StreamTask.java:562) ~[flink-dist-1.18.0.jar:1.18.0]
at org.apache.flink.streaming.runtime.tasks.mailbox.MailboxProcessor.runMailboxLoop(MailboxProcessor.java:231) ~[flink-dist-1.18.0.jar:1.18.0]
at org.apache.flink.streaming.runtime.tasks.StreamTask.runMailboxLoop(StreamTask.java:858) ~[flink-dist-1.18.0.jar:1.18.0]
at org.apache.flink.streaming.runtime.tasks.StreamTask.invoke(StreamTask.java:807) ~[flink-dist-1.18.0.jar:1.18.0]
at org.apache.flink.runtime.taskmanager.Task.runWithSystemExitMonitoring(Task.java:953) ~[flink-dist-1.18.0.jar:1.18.0]
at org.apache.flink.runtime.taskmanager.Task.restoreAndInvoke(Task.java:932) ~[flink-dist-1.18.0.jar:1.18.0]
at org.apache.flink.runtime.taskmanager.Task.doRun(Task.java:746) ~[flink-dist-1.18.0.jar:1.18.0]
at org.apache.flink.runtime.taskmanager.Task.run(Task.java:562) ~[flink-dist-1.18.0.jar:1.18.0]
at java.lang.Thread.run(Thread.java:748) ~[?:1.8.0_192]
根据提供的错误日志,可以看到错误发生在java.lang.ArrayIndexOutOfBoundsException: 608
。这个异常通常表示在访问数组时发生了越界错误。
在这个特定的情况下,错误发生在以下代码行:
at java.util.GregorianCalendar.computeFields(GregorianCalendar.java:2397) ~[?:1.8.0_192]
这个异常可能是由于在处理日期时出现了问题。具体来说,它可能是由于尝试访问数组的索引超出了其有效范围。
要解决这个问题,你可以检查代码中涉及到数组操作的部分,确保所有的索引都在有效的范围内。特别是,你需要检查以下几点:
根据提供的错误日志,可以看到错误发生在java.lang.ArrayIndexOutOfBoundsException: 608
。这个异常通常表示在访问数组时使用了超出范围的索引。
要解决这个问题,你可以检查代码中涉及到数组操作的部分,确保使用的索引值在数组的有效范围内。具体来说,你需要找到以下代码行:
at java.util.Calendar.get(Calendar.java:1826) ~[?:1.8.0_192]
在这个例子中,可能的原因是在使用java.util.Calendar
类时,尝试访问了超出范围的索引。你可以尝试使用java.time.LocalDate
或java.time.LocalDateTime
类来替代java.util.Calendar
,因为它们提供了更简单和安全的方法来处理日期和时间。
另外,你也可以检查其他涉及到数组操作的地方,确保没有出现类似的错误。
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。
实时计算Flink版是阿里云提供的全托管Serverless Flink云服务,基于 Apache Flink 构建的企业级、高性能实时大数据处理系统。提供全托管版 Flink 集群和引擎,提高作业开发运维效率。