5. Отправка сообщений об ошибках#

5. Отправка сообщений об ошибках

5. Отправка сообщений об ошибках

Просьба уведомлять нас об ошибках в Tantor SE. Отчеты об ошибках играют важную роль в повышении надежности Tantor SE, потому что даже самое тщательное тестирование не может гарантировать, что любые части Tantor SE будут работать на любой платформе и при любых обстоятельствах.

Следующие рекомендации предназначены для помощи в составлении отчетов об ошибках, которые можно эффективно обрабатывать. Мы не призываем выполнять их неукоснительно, но следование данным рекомендациям ускорит решение обнаруженных проблем.

5.1. Определение ошибок

Перед тем, как сообщить о ошибке, пожалуйста, внимательно ознакомьтесь с документацией, чтобы убедиться, что то, что вы пытаетесь сделать, действительно возможно. Если из документации не ясно, возможна ли операция или нет, пожалуйста, также сообщите о неточности в документации. Если программа делает что-то отличное от того, что описано в документации, это также является ошибкой. Такие ошибки могут включать, но не ограничиваются следующими примерами:

  • Программа завершается сигналом о критической ошибке или сообщением об ошибке операционной системы, указывающей на проблему в программе. (Контрпримером может быть сообщение "недостаточно места на диске",и ее вам придется исправить это самостоятельно).

  • Программа выдает неправильный результат для любого заданного входного значения.

  • Программа не принимает допустимый ввод (соответствующий документации).

  • Программа принимает недопустимый ввод без уведомления или сообщения об ошибке. Но имейте в виду, то что вам кажется недопустимым вводом, может с нашей точки зрения быть расширением или совместимым с принятой практикой.

  • Tantor SE не удается скомпилировать, собрать или установить в соответствии с инструкциями на поддерживаемых платформах.

Здесь программа относится к любому исполняемому файлу, а не только к серверному процессу.

Медленная работа или чрезмерное потребление ресурсов не обязательно является ошибкой. Прочитайте документацию или обратитесь за помощью по оптимизации настройки ваших приложений. Несоблюдение стандарта SQL также не обязательно является ошибкой, если явно не декларируется соответствие конкретной функции.

5.2. Содержание сообщения

Самое важное, что нужно помнить при сообщении об ошибках, это необходимость указывать все факты и только факты.

Следующая информация должна содержаться в каждом отчете об ошибке:

  • Точная последовательность шагов с момента запуска программы, необходимая для воспроизведения проблемы. Она должно быть самодостаточной; недостаточно просто отправить команду SELECT без предшествующих команд CREATE TABLE и INSERT, если вывод зависит от данных в таблицах. У нас не будет времени для обратной разработки схемы вашей базы данных, и если нам нужно будет создавать тестовые данные, мы, вероятно, пропустим проблему.

    Лучший формат для передачи тестового случая касательно проблем, связанных с SQL, - это файл, который можно запустить через клиент psql, и воспроизвести проблему. (Убедитесь, что в вашем файле запуска ~/.psqlrc нет ничего). Простой способ создать этот файл - использовать pg_dump для выгрузки объявлений таблиц и данных, необходимых для воспроизведения случая, а затем добавить проблемный запрос. Рекомендуется минимизировать размер примера, но это не обязательное требование. Если ошибка воспроизводима, мы обязательно ее найдем.

    Если ваше приложение использует другой клиентский интерфейс, к примеру PHP, то, пожалуйста, попробуйте выделить проблемные запросы. Мы, вряд ли будем настраивать веб-сервер для воспроизведения вашей проблемы. В любом случае, не забудьте предоставить точные входные файлы; не делайте выводы о том, что проблема возникает для больших файлов или средних баз данных и т.д., так как эта информация слишком размытая, и вряд ли окажется нам полезной.

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

    Примечание

    Если вы передаете сообщение об ошибке, пожалуйста, выгрузите самый подробный вариант сообщения. В psql заранее укажите \set VERBOSITY verbose. Если вы выгружаете сообщение из журнала сервера, установите параметр времени выполнения log_error_verbosity в verbose, чтобы все детали были зарегистрированы.

    Примечание

    В случае возникновения критических ошибок сообщение об ошибке, передаваемое клиентом, может не содержать всю необходимую информацию. Пожалуйста, обратите внимание на журнал сервера базы данных. Если вы не сохраняете журналы сервера, то стоит начать сохранять журналы сервера.

  • Выходные данные, которые вы ожидаете, очень важны для состояния.

  • Все параметры командной строки и другие параметры запуска, включая любые связанные переменные среды или файлы конфигурации, которые вы изменили относительно значений по умолчанию.

  • Все, что вы делали не так, как указано в инструкции по установке инструкции.

  • Версия Tantor SE. Вы можете выполнить команду SELECT tantor_version(); и SELECT tantor_build(); чтобы узнать версию сервера, к которому вы подключены. Большинство исполняемых программ также поддерживают опцию --version; по крайней мере postgres --version и psql --version должны работать.

  • Информация о платформе. Укажите название и версию ядра, библиотеку C, данные о ЦПУ и памяти и так далее.

Не страшно, если ваше сообщение об ошибке получится длинным. Лучше сразу сообщить все факты.

5.3. Куда сообщать об ошибках

Вы можете отправлять отчеты об ошибках по следующим каналам:

Электронная почта службы поддержки:

Система поддержки клиентов: lk-new.astralinux.ru

Своему менеджеру по работе с клиентами (для корпоративных клиентов).