Оформление
Журнал запуска
Журнал показывает, как шёл запуск синхронизации датасета: какие шаги выполнены, сколько длился каждый и на каком шаге задание остановилось. Открывается кнопкой Лог в строке запуска на вкладке История окна Синхронизация — см. историю запусков.
Что показывает журнал
Ход задания идёт по шагам: каждый шаг — полоса на шкале времени, цвет полосы означает исход. Сверху — итог, число прочитанных и загруженных строк, длительность и количество шагов. Числа строк здесь, как и в истории, округлены до тысяч.

Щелчок по полосе открывает панель шага: время начала и окончания, длительность, номер попытки, параметры запуска, а у неуспешного — текст ошибки.
У старых запусков журнала уже нет
Шаги задания хранит служба выполнения, и по умолчанию она держит их сутки. По запуску старше этого срока окно откроется пустым: «Журнал недоступен. События появятся после старта workflow. По старым запускам история могла истечь по retention». Сама строка запуска в истории остаётся — с итогом, числом строк и длительностью, — недоступны только шаги. Срок хранения задаётся при установке платформы.
Пока задание работает, журнал обновляется сам (внизу окна — «Автообновление…»), а текущий шаг показан отдельным цветом и продолжается до текущего момента. Во время выгрузки объекта в панели шага видно, сколько строк уже прочитано, — по этому числу понятно, что долгая загрузка идёт, а не остановилась. У завершённого запуска журнал перечитывается кнопкой Обновить.
Шаги задания
| Шаг | Что делает |
|---|---|
| MarkRunning | отмечает задание начатым |
| PlanObjects | определяет, какие объекты датасета выгружать |
| PullToS3 | выгружает объект из источника в объектное хранилище — обычно самый долгий шаг |
| IngestToStaging | заливает выгруженное в промежуточную таблицу аналитической базы |
| PublishObject | публикует объект: промежуточная таблица становится витриной |
| CleanupParts | убирает временные файлы из объектного хранилища |
| MarkSuccess, MarkFailed | записывают итог задания |
Шаги выгрузки, заливки и публикации выполняются по одному на каждый объект датасета, поэтому в журнале датасета из трёх таблиц одно и то же имя шага встретится трижды. Публикация идёт отдельной фазой, когда выгружены все объекты, — так витрины датасета обновляются целиком, а не по одной.
Когда шаг повторяется, а когда нет

Сбой, который может исчезнуть сам — оборванное соединение, недоступное хранилище, — платформа повторяет: до трёх попыток, номер текущей виден в панели шага. Отказ по существу (нет таблицы, ошибка в запросе, отказано в доступе) не повторяется: повторная выгрузка вернула бы тот же ответ, поэтому задание завершается сразу.
Ответ источника попадает в журнал как есть — например, Code: 60. DB::Exception: Unknown table expression identifier ... (UNKNOWN_TABLE) у запроса к несуществующей таблице. Такое задание завершается за доли секунды, без трёх попыток.
Ошибка «источник оборвал поток ответа»
Если в журнале написано, что источник оборвал поток, значит сервер источника разорвал уже начатый ответ: причину он оставил у себя, платформе она не видна. Смотрите журнал запросов на стороне источника — обычно так проявляются лимиты на объём выборки или время запроса.
Что дальше
- Синхронизация и ETL — стратегия загрузки, расписание, хранение и история запусков.
- Сообщения платформы — что означают тексты ошибок, которые попадают в журнал.