Я обновляю наш кластер apache flink с версии 1.6.1 до 1.8.0 (scala-2.11) и испытываю исключение NullPointerException на одном из наших заданий сразу после успешной отправки задания.Похоже, что один Edge sourceId не загружается в карту chainedConfigs.Я пропускаю какой-либо параметр конфигурации или шаг миграции 1.7 или 1.8?
Я уже проверил, если у меня по ошибке загружаются разные версии Flink, но это не так.Все мои зависимости и образ докера Flink, который я использую, имеют Flink 1.8.0 в classpath.Проверил исходный код Flink и увидел, что NPE происходит из этой строки: chainedConfigs.get(edge.getSourceId()).getBufferTimeout()
Это трассировка стека NPE:
java.lang.NullPointerException
at org.apache.flink.streaming.runtime.tasks.StreamTask.createRecordWriters(StreamTask.java:1175)
at org.apache.flink.streaming.runtime.tasks.StreamTask.<init>(StreamTask.java:212)
at org.apache.flink.streaming.runtime.tasks.StreamTask.<init>(StreamTask.java:190)
at org.apache.flink.streaming.runtime.tasks.SourceStreamTask.<init>(SourceStreamTask.java:51)
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
at java.lang.reflect.Constructor.newInstance(Constructor.java:423)
at org.apache.flink.runtime.taskmanager.Task.loadAndInstantiateInvokable(Task.java:1405)
at org.apache.flink.runtime.taskmanager.Task.run(Task.java:689)
at java.lang.Thread.run(Thread.java:748)