Проблема с бегуном потока данных и jaydebeapi (одноразовая проблема)

#google-cloud-platform #dataflow #infrastructure #runner #jaydebeapi

#google-облачная платформа #поток данных #инфраструктура #бегун #jaydebeapi

Вопрос:

Информация о нашем конвейере потока данных, на который мы ссылаемся в этом инциденте:

  • конвейер отвечает за перемещение данных из источника Oracle в BigQuery;
  • конвейер написан на Python3.6;
  • он использует ojdbc, jdk и jaydebeapi;
  • в нашем коде гарантируется, что все необходимые библиотеки и т. Д. Всегда Устанавливаются На всех рабочих потоках данных перед выполнением.

Описание проблемы: 21/10 у нас возникла проблема с работником потока данных (в регионе Европа-запад3) — см. Журнал ниже. Похоже, не удалось загрузить или использовать библиотеку jaydebeapi.

2020-10-21 17:28:42.792 Сообщение CESTError от работника: трассировка (последний последний вызов): Файл «apache_beam/runners/common.py «, строка 997, в apache_beam.runners.common.Файл DoFnRunner._invoke_bundle_method «apache_beam/runners/common.py «, строка 490, в apache_beam.runners.common.Файл DoFnInvoker.invoke_start_bundle «apache_beam/runners/common.py «, строка 496, в apache_beam.runners.common.Файл DoFnInvoker.invoke_start_bundle «/usr/local/lib/python3.7/site-packages/libs/dataflow/common.py «, строка 269, в start_bundle jars=[f»/tmp/{self.ojdbc_lib}»] Файл «/usr/local/lib/python3.7/site-packages/jaydebeapi/init.py «, строка 412, в файле connect jconn = _jdbc_connect(jclassname, url, driver_args, jars, libs) «/usr/local/lib/python3.7/site-packages/jaydebeapi/init.py», строка 199, в файле _jdbc_connect_jpype convertStrings=True) «/usr/local/lib/python3.7/site-packages/jpype/_core.py «, строка 216, в startJVM ignoreUnrecognized, convertStrings, прерывание) Системная ошибка: java.lang.Исключение ClassNotFoundException: org.jpype.classloader.DynamicClassLoader Во время обработки вышеупомянутого исключения возникло другое исключение: трассировка (последний последний вызов): File «/usr/local/lib/python3.7/site-packages/dataflow_worker/batchworker.py «, строка 638, в файле do_work work_executor.execute() «/usr/local/lib/python3.7/site-packages/dataflow_worker/executor.py «, строка 179, в файле execute op.start() «apache_beam/runners/worker/operations.py «, строка 662,в apache_beam.runners.worker.operations.Файл doOperation.start «apache_beam/runners/worker/operations.py «, строка 664, в apache_beam.runners.worker.operations.Файл doOperation.start «apache_beam/runners/worker/operations.py «, строка 666, в apache_beam.runners.worker.operations.Файл doOperation.start «apache_beam/runners/common.py «, строка 1014, в apache_beam.runners.common.Файл DoFnRunner.start «apache_beam/runners/common.py «, строка 999, в apache_beam..Обычный.Файл DoFnRunner._invoke_bundle_method «apache_beam/runners/common.py «, строка 1045, в apache_beam.runners.common.DoFnRunner._реализируй_аугментированный файл «/usr/local/lib/python3.7/site-packages/future/utils/init.py «, строка 446, в файле raise_with_traceback raise exc.with_traceback(трассировка) «apache_beam/runners/common.py «, строка 997, в apache_beam.runners.common.Файл DoFnRunner._invoke_bundle_method «apache_beam/runners/common.py «, строка 490, в apache_beam.runners.common.Файл DoFnInvoker.invoke_start_bundle «apache_beam/runners/common.py «, строка 496, в apache_beam.runners.common.Файл DoFnInvoker.invoke_start_bundle «/usr/local/lib/python3.7/site-packages/libs/dataflow/common.py «, строка 269, в start_bundle jars=[f»/tmp/{self.ojdbc_lib}»] Файл «/usr/local/lib/python3.7/site-packages/jaydebeapi/init.py «, строка 412, в файле connect jconn = _jdbc_connect(jclassname, url, driver_args, jars, libs) «/usr/local/lib/python3.7/site-packages/jaydebeapi/ запускатели инициализации.py», строка 199, в файле _jdbc_connect_jpype convertStrings=True) «/usr/local/lib/python3.7/site-packages/jpype/_core.py «, строка 216, в startJVM ignoreUnrecognized, convertStrings, прерывание) Системная ошибка: java.lang.Исключение ClassNotFoundException: org.jpype.classloader.DynamicClassLoader [при выполнении «Чтение из источника Oracle / чтение из базы данных»]

Проблема возникала несколько раз после повторного запуска точно такого же кода, а затем исчезала, и все работало хорошо с тем же кодом. Вы представляете, что может произойти? Нам кажется, что это было что-то с обеспечением инфраструктуры / рабочих и т. Д.

Комментарии:

1. Похоже, что эта проблема связана с потоком данных. Чтобы правильно решить вашу проблему, я предлагаю вам открыть проблему в IssueTracker ( cloud.google.com/support/docs/issue-trackers )

2. Я согласен, что что-то произошло в потоке данных, но поскольку ошибка произошла только один раз, PIT — не лучший вариант сообщить об этой проблеме, чтобы получить представление о том, что могло произойти, поскольку шагов репликации не будет. Пожалуйста, обратите внимание, что PIT предназначен для запросов функций или дефектов продукта , для которых определены этапы репликации.