Предложение: предупредить о возможных проблемах

3.2.0.beta4-dev в режиме простой переустановки, не обновления. Запуск на полностью обновлённом Ubuntu 22.

  1. См. лог1 ниже: я понимаю, что сообщения являются лишь предупреждениями. Предлагаю, чтобы в случае, когда администратор ожидает сообщение, выглядящее как «ошибка», в процесс установки добавлялась информация уровня INFO:

INFO: Следующая команда может вызвать ожидаемое предупреждение, которое можно игнорировать.

  1. Аналогично, на протяжении многих лет поступали сообщения о зависании или остановке на фразе «Background saving terminated with success» (Фоновое сохранение завершено успешно). Проблема заключается не в самом фоновом сохранении, а в следующем за ним процессе, о котором не сообщается. Эта следующая операция может занимать значительно больше времени по сравнению с другими. Здесь также было бы полезно добавить уведомление INFO:

INFO: Следующая операция может занять много времени. Ожидайте от 5 до 30 минут и более.
INFO: Пожалуйста, проявите терпение и не прерывайте этот процесс.

  1. Сам текст «Background saving terminated with success» звучит странно. Почему мы должны «прерывать» фоновый процесс сохранения?

* Background saving started by pid 904
* DB saved on disk
* Fork CoW for RDB: current 1 MB, peak 1 MB, average 0 MB
* Background saving terminated with success

Я понимаю, что «фоновый процесс не был прерван», то есть «было выполнено действие, направленное на завершение операции». Но глагол «terminate» может быть как переходным, так и непереходным. Как насчёт замены на что-то менее двусмысленное, например, «Background DB save completed successfully» (Фоновое сохранение БД выполнено успешно)?

  1. См. лог2 ниже и пункт >2 выше. Что должно происходить после завершения фонового сохранения? Я не знаю, но если подождать 24 минуты, я вижу сообщения «Warning» (Предупреждение), которые выглядят для меня как «Error» (Ошибки). Перед одной или несколькими длительными операциями предлагаю добавить уведомление INFO, описывающее, что будет выполняться:

INFO: Сейчас будет выполнена операция, связанная с электронной почтой.
INFO: Следующая операция может занять много времени. Ожидайте от 5 до 30 минут и более.
INFO: Пожалуйста, проявите терпение и не прерывайте этот процесс.

И в качестве отчёта об «проблеме» отмечу, что задержка в 20+ минут и последующие предупреждения всегда возникают в последней версии beta-dev. Сообщение «LOG: database system is shut down» (Система баз данных остановлена) вызывает тревогу, как и длительная пауза, возникающая после него.

Спасибо!!

Лог1:

I, [2023-11-30T19:16:37.221350 #1]  INFO -- :
I, [2023-11-30T19:16:37.222007 #1]  INFO -- : > cd /var/www/discourse && su discourse -c 'yarn install --frozen-lockfile && yarn cache clean'
warning " > @glint/environment-ember-loose@1.1.0" has unmet peer dependency "@glimmer/component@^1.1.2".
warning " > @glint/environment-ember-template-imports@1.1.0" has unmet peer dependency "ember-template-imports@^3.0.0".
warning Resolution field "unset-value@2.0.1" is incompatible with requested version "unset-value@^1.0.0"
warning Pattern ["wrap-ansi@^7.0.0"] is trying to unpack in the same destination "/home/discourse/.cache/yarn/v6/npm-wrap-ansi-cjs-7.0.0-67e145cff510a6a6984bdf1152911d69d2eb9e43-integrity/node_modules/wrap-ansi-cjs" as pattern ["wrap-ansi-c
js@npm:wrap-ansi@^7.0.0"]. This could result in non-deterministic behavior, skipping.
warning " > discourse-markdown-it@1.0.0" has unmet peer dependency "xss@*".
warning "workspace-aggregator-577e4c44-4eab-4cdd-b260-702143419d8a > discourse > @ember/legacy-built-in-components@0.5.0" has incorrect peer dependency "ember-source@>= 4.8".
warning "workspace-aggregator-577e4c44-4eab-4cdd-b260-702143419d8a > discourse > @uppy/aws-s3@3.0.6" has incorrect peer dependency "@uppy/core@^3.1.2".
warning "workspace-aggregator-577e4c44-4eab-4cdd-b260-702143419d8a > discourse > @uppy/aws-s3-multipart@3.1.3" has incorrect peer dependency "@uppy/core@^3.1.2".
warning "workspace-aggregator-577e4c44-4eab-4cdd-b260-702143419d8a > discourse > @uppy/xhr-upload@3.1.1" has incorrect peer dependency "@uppy/core@^3.1.2".
warning "workspace-aggregator-577e4c44-4eab-4cdd-b260-702143419d8a > discourse-plugins > ember-this-fallback@0.4.0" has unmet peer dependency "ember-source@^3.28.11 || ^4.0.0".
warning "workspace-aggregator-577e4c44-4eab-4cdd-b260-702143419d8a > discourse > @uppy/aws-s3 > @uppy/xhr-upload@3.3.0" has incorrect peer dependency "@uppy/core@^3.2.1".
I, [2023-11-30T19:20:49.159245 #1]  INFO -- : yarn install v1.22.19
[1/5] Validating package.json...
[2/5] Resolving packages...
[3/5] Fetching packages...
[4/5] Linking dependencies...
[5/5] Building fresh packages...

Лог2:

110:M 30 Nov 2023 02:09:26.839 * Background saving terminated with success
2023-11-30 02:33:14.679 UTC [41] LOG:  lock file "postmaster.pid" contains wrong PID: 566 instead of 41
2023-11-30 02:33:14.689 UTC [41] LOG:  performing immediate shutdown because data directory lock file is invalid
2023-11-30 02:33:14.689 UTC [41] LOG:  received immediate shutdown request
2023-11-30 02:33:14.849 UTC [982] WARNING:  terminating connection because of crash of another server process
2023-11-30 02:33:14.849 UTC [982] DETAIL:  The postmaster has commanded this server process to roll back the current transaction and exit, because another server process exited abnormally and possibly corrupted shared memory.
2023-11-30 02:33:14.849 UTC [982] HINT:  In a moment you should be able to reconnect to the database and repeat your command.
2023-11-30 02:33:14.898 UTC [48] WARNING:  terminating connection because of crash of another server process
2023-11-30 02:33:14.898 UTC [48] DETAIL:  The postmaster has commanded this server process to roll back the current transaction and exit, because another server process exited abnormally and possibly corrupted shared memory.
2023-11-30 02:33:14.898 UTC [48] HINT:  In a moment you should be able to reconnect to the database and repeat your command.
2023-11-30 02:33:15.486 UTC [41] LOG:  database system is shut down

Здесь отличные идеи.

Во время первоначальной установки длинные паузы не бросались в глаза — вероятно, потому что я склонен переключаться на другую вкладку и терять счёт времени. Если бы я был более сосредоточен, возможно, прервал бы процесс сочетанием CTRL-C, решив, что он завис.

Недавно я пересобирал проект, чтобы восстановить работоспособность после проблемы, и внимательнее следил за процессом. Длинные паузы и предупреждения в логах действительно немного меня напугали.

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

Как новый пользователь, который сейчас сидит и смотрит, как его терминальное окно ничего не делает, а последняя отображённая строка — «Фоновое сохранение завершено успешно», — я с полной готовностью согласен с пунктом 2!