Некоторые из наших задач Dataflow случайным образом разбиваются при чтении исходных файлов данных.Неудачные задания Google Cloud Dataflow (ошибки ввода-вывода)
Следующая ошибка записывается в журнал заданий (нет ничего в рабочих журналах):
11 févr. 2016 à 08:30:54
(33b59f945cff28ab): Workflow failed.
Causes: (fecf7537c059fece): S02:read-edn-file2/TextIO.Read+read-edn-file2
/ParDo(ff19274a)+ParDo(ff19274a)5+ParDo(ff19274a)6+RemoveDuplicates
/CreateIndex+RemoveDuplicates/Combine.PerKey
/GroupByKey+RemoveDuplicates/Combine.PerKey/Combine.GroupedValues
/Partial+RemoveDuplicates/Combine.PerKey/GroupByKey/Reify+RemoveDuplicates
/Combine.PerKey/GroupByKey/Write faile
Мы также получаем такого рода ошибки иногда (регистрируется в рабочих журналах):
2016-02-15T10:27:41.024Z: Basic: S18: (43c8777b75bc373e): Executing operation group-by2/GroupByKey/Read+group-by2/GroupByKey/GroupByWindow+ParDo(ff19274a)19+ParDo(ff19274a)20+ParDo(ff19274a)21+write-edn-file3/ParDo(ff19274a)+write-bq-table-from-clj3/ParDo(ff19274a)+write-bq-table-from-clj3/BigQueryIO.Write+write-edn-file3/TextIO.Write
2016-02-15T10:28:03.994Z: Error: (af73c53187b7243a): java.io.IOException: com.google.api.client.googleapis.json.GoogleJsonResponseException: 410 Gone
{
"code" : 503,
"errors" : [ {
"domain" : "global",
"message" : "Backend Error",
"reason" : "backendError"
} ],
"message" : "Backend Error"
}
at com.google.cloud.hadoop.util.AbstractGoogleAsyncWriteChannel.waitForCompletionAndThrowIfUploadFailed(AbstractGoogleAsyncWriteChannel.java:431)
at com.google.cloud.hadoop.util.AbstractGoogleAsyncWriteChannel.close(AbstractGoogleAsyncWriteChannel.java:289)
at com.google.cloud.dataflow.sdk.runners.worker.TextSink$TextFileWriter.close(TextSink.java:243)
at com.google.cloud.dataflow.sdk.util.common.worker.WriteOperation.finish(WriteOperation.java:100)
at com.google.cloud.dataflow.sdk.util.common.worker.MapTaskExecutor.execute(MapTaskExecutor.java:77)
at com.google.cloud.dataflow.sdk.runners.worker.DataflowWorker.executeWork(DataflowWorker.java:254)
at com.google.cloud.dataflow.sdk.runners.worker.DataflowWorker.doWork(DataflowWorker.java:191)
at com.google.cloud.dataflow.sdk.runners.worker.DataflowWorker.getAndPerformWork(DataflowWorker.java:144)
at com.google.cloud.dataflow.sdk.runners.worker.DataflowWorkerHarness$WorkerThread.doWork(DataflowWorkerHarness.java:180)
at com.google.cloud.dataflow.sdk.runners.worker.DataflowWorkerHarness$WorkerThread.call(DataflowWorkerHarness.java:161)
at com.google.cloud.dataflow.sdk.runners.worker.DataflowWorkerHarness$WorkerThread.call(DataflowWorkerHarness.java:148)
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)
Файлы исходных данных хранятся в облачной хранилище Google.
Пути данных верны, и работа обычно работает после ее возобновления. Мы не испытывали эту проблему до конца января.
Работа запускается с этими параметрами: --tempLocation = 'gstoragelocation' --stagingLocation = 'другого gstorage место' --runner = BlockingDataflowPipelineRunner --numWorkers = 'несколько десятков' --zone = Европа-west1- d
версия SDK: 1.3.0
Благодаря
Извините за беспокойство. В настоящее время мы изучаем эти и подобные проблемы с командой Google Cloud Storage. Не могли бы вы предоставить пример неудавшегося идентификатора задания? – jkff
Вопрос, поставленный первой работой по 2/10, должен быть исправлен на этой неделе. Пожалуйста, сообщите нам, если вы снова это увидите. Вызывает ли ошибка второго типа выполнение задания или он достаточно кратковременен, чтобы узлы успешно выполняли повторы? – Frances
Спасибо за ваш ответ. Сегодня утром одна из наших рабочих мест провалилась: 2016-02-21_23_00_17-5627071082821060268. Ошибка приводит к сбою задания, даже если есть повторы, но обычно это удается, если задание перезапускается вручную (для первого и второго типов ошибок). – Pierre