Как сообщать о проблеме
В данном разделе описано, в каких случаях, куда и как стоит обращаться за помощью при работе с системой YTsaurus. Даются рекомендации по составлению обращений и сообщений об ошибках.
Случаи обращений
Система YTsaurus состоит из различных компонент и сервисов, поэтому существует несколько способов обратиться за помощью или задать вопрос. Для каждой ситуации существует лучший способ сообщить о проблеме или попросить помощи по работе с системой. Перед первым запросом выберите подходящий способ — это позволит минимизировать издержки по маршрутизации вашего запроса к людям, которые смогут помочь.
Выберите наиболее подходящий раздел, соответствующий вашей ситуации.
Вопросы по работе с веб-интерфейсом
О проблемах с вёрсткой, обновлением данных в веб-интерфейсе и других подобных проблемах сообщайте на рассылку ui@ytsaurus.tech.
Обязательно опишите проблему, ожидаемое поведение и сообщите адрес страницы.
Вопросы по текущей работе системы
К вопросам о текущей работе системы YTsaurus относятся,но не ограничиваются ими:
- медленное чтение/запись данных и долгие вычисления на кластере;
- неизвестные ошибки при выполнении операций или запросов к кластеру.
Описание проблемы и минимальный пример, который позволит команде воспроизвести проблему, отправьте на рассылку dev@ytsaurus.tech.
Если проблема связана с медленной работой джобов операции, предпримите предварительно максимальные усилия по самостоятельной диагностике проблемы с помощью Job Shell и статистик джобов.
Вопросы по разработке
К данной категории относятся вопросы по технологии в целом и любые консультации:
- API и его использование;
- возможности и ограничения;
- вопросы по способам оптимизации вычислений;
- вопросы по разновидностям квот YTsaurus и процессу их получения;
- вопросы про назначение метрик и правильную интерпретацию графиков;
- вопросы про оценку необходимых ресурсов;
- вопросы про причины возникновения ошибок и способы самодиагностики;
- концептуальные вопросы и предложения.
Подобные вопросы задавайте на платформе Stack Overflow, тег ytsaurus.
Прочие вопросы
Если ваш вопрос или проблема не подходят ни под одну из описанных категорий, напишите письмо на рассылку (mailto:community@ytsaurus.tech).
Советы по написанию сообщений об ошибках
Приведенные советы помогут не упустить важные детали в сообщениях об ошибках и описать ситуацию в исходном виде без предварительной интерпретации и во всей полноте.
Перед отправкой сообщения об ошибке перечитайте его и поставьте себя на место того, кто будет вам помогать. С чего бы вы начали решать проблему? Достаточно ли для этого приведенной информации?
Всегда показывайте полное сообщение об ошибке. В YTsaurus ошибки иерархичны: помимо самого текста к ошибке прилагаются атрибуты, а также вложенные ошибки. Не обрезайте информацию, показывайте все, что есть. Если обрезка произошла еще до печати, постарайтесь разобраться, почему так случилось. Это может пригодиться в будущем. Если информацию обрезает используемое вами API, напишите на рассылку (mailto:community@ytsaurus.tech).
Включите логирование. Большинство SDK, предоставляемых YTsaurus, используют переменную окружения YT_LOG_LEVEL
. Установите ее значение в debug
, соберите логи из stderr и приложите их к сообщению об ошибке. Также стоит учесть следующие частные обстоятельства:
-
при использовании python библиотеки необходимо настроить логирование через модуль logging:
logging.getLogger('Yt').setLevel(logging.DEBUG)
; -
в java библиотеках для логирования используется slf4j, для включения логов включите
debug
уровень для логгеровtech.ytsaurus
; -
если проблема воспроизводится с использованием local YTsaurus, включите debug-логи в нем, передав опцию
--enable-debug-logging
при вызовеyt_local start
.
Для продуктовых процессов держите debug-логи включенными постоянно, настроив для них подходящую ротацию и компрессию. Во многих сложных случаях невозможно установить причину без подробных логов. Система YTsaurus пишет подробные логи на стороне сервера, но если проблема, например, заключается в сетевом взаимодействии между клиентом и сервером, то серверные логи бесполезны.
Предоставляйте больше контекста:
- обязательно расскажите максимальную информацию о вашем кластере;
- если операция завершилась с ошибкой, предоставьте воспроизводимый пример;
- если код падает из-за исключения, нужно приложить backtrace;
- если код завершается с ошибкой и попадает в дамп памяти , необходимо прислать ссылку на дамп памяти, чтобы его можно было скачать и изучить.
Если проблема воспроизводится, постарайтесь найти минимальный пример для воспроизведения. Нередки случаи, когда построение минимального примера, воспроизводящего проблему, позволяет найти ошибку в пользовательском коде. Если ваши вычисления зависят от дополнительных данных (таблицы, локальные файлы), подготовьте надежные ссылки на них. Дополнительные данные могут потребоваться для самостоятельного воспроизведения проблемы командой сервиса YTsaurus, если нельзя будет найти причину проблемы путем чтения логов.
Постарайтесь предоставить исходные данные. Покажите проблему и все связанное с ней в «сыром» виде, команда сервиса YTsaurus приложит максимум усилий, чтобы понять первопричину.
Постарайтесь разделить проблемы. Не пишите в одном сообщении об ошибке о разных проблемах. Напишите два сообщения.
Максимально используйте предоставляемые системой инструменты для самостоятельной диагностики..
Давайте больше предыстории для отладки производительности.
Читайте документацию, в первую очередь FAQ, который находится в отдельном разделе.