ترقية 3.1.x إلى 3.2.0 تعلق/تفشل على نسخة 1 جيجابايت

Any assistance would be appreciated. Been trying to upgrade 3.1.5 to 3.2.0 for the last 8 hours.

It just seems to hang here:

Ensuring launcher is up to date
Fetching origin
Launcher is up-to-date
Stopping old container
+ /usr/bin/docker stop -t 600 app
app
2.0.20231218-0429: Pulling from discourse/base
Digest: sha256:468f70b9bb4c6d0c6c2bbb3efc1a5e12d145eae57bdb6946b7fe5558beb52dc1
Status: Image is up to date for discourse/base:2.0.20231218-0429
docker.io/discourse/base:2.0.20231218-0429
/usr/local/lib/ruby/gems/3.2.0/gems/pups-1.2.1/lib/pups.rb
/usr/local/bin/pups --stdin
I, [2024-02-01T05:20:13.663978 #1]  INFO -- : Reading from stdin
I, [2024-02-01T05:20:13.670645 #1]  INFO -- : > locale-gen $LANG && update-locale
I, [2024-02-01T05:20:13.712975 #1]  INFO -- : Generating locales (this might take a while)...
Generation complete.

I, [2024-02-01T05:20:13.713587 #1]  INFO -- : > mkdir -p /shared/postgres_run
I, [2024-02-01T05:20:13.717850 #1]  INFO -- :
I, [2024-02-01T05:20:13.718463 #1]  INFO -- : > chown postgres:postgres /shared/postgres_run
I, [2024-02-01T05:20:13.722273 #1]  INFO -- :
I, [2024-02-01T05:20:13.722901 #1]  INFO -- : > chmod 775 /shared/postgres_run
I, [2024-02-01T05:20:13.726117 #1]  INFO -- :
I, [2024-02-01T05:20:13.726724 #1]  INFO -- : > rm -fr /var/run/postgresql
I, [2024-02-01T05:20:13.730093 #1]  INFO -- :
I, [2024-02-01T05:20:13.730719 #1]  INFO -- : > ln -s /shared/postgres_run /var/run/postgresql
I, [2024-02-01T05:20:13.734550 #1]  INFO -- :
I, [2024-02-01T05:20:13.735116 #1]  INFO -- : > socat /dev/null UNIX-CONNECT:/shared/postgres_run/.s.PGSQL.5432 || exit 0 && echo postgres already running stop container ; exit 1
2024/02/01 05:20:13 socat[18] E connect(6, AF=1 "/shared/postgres_run/.s.PGSQL.5432", 36): No such file or directory
I, [2024-02-01T05:20:13.757786 #1]  INFO -- :
I, [2024-02-01T05:20:13.758259 #1]  INFO -- : > rm -fr /shared/postgres_run/.s*
I, [2024-02-01T05:20:13.761231 #1]  INFO -- :
I, [2024-02-01T05:20:13.761705 #1]  INFO -- : > rm -fr /shared/postgres_run/*.pid
I, [2024-02-01T05:20:13.764603 #1]  INFO -- :
I, [2024-02-01T05:20:13.765030 #1]  INFO -- : > mkdir -p /shared/postgres_run/13-main.pg_stat_tmp
I, [2024-02-01T05:20:13.767619 #1]  INFO -- :
I, [2024-02-01T05:20:13.768243 #1]  INFO -- : > chown postgres:postgres /shared/postgres_run/13-main.pg_stat_tmp
I, [2024-02-01T05:20:13.770687 #1]  INFO -- :
I, [2024-02-01T05:20:13.775750 #1]  INFO -- : File > /etc/service/postgres/run  chmod: +x  chown:
I, [2024-02-01T05:20:13.780586 #1]  INFO -- : File > /etc/service/postgres/log/run  chmod: +x  chown:
I, [2024-02-01T05:20:13.785496 #1]  INFO -- : File > /etc/runit/3.d/99-postgres  chmod: +x  chown:
I, [2024-02-01T05:20:13.790412 #1]  INFO -- : File > /root/upgrade_postgres  chmod: +x  chown:
I, [2024-02-01T05:20:13.791046 #1]  INFO -- : > chown -R root /var/lib/postgresql/13/main
I, [2024-02-01T05:20:16.705999 #1]  INFO -- :
I, [2024-02-01T05:20:16.706819 #1]  INFO -- : > [ ! -e /shared/postgres_data ] && install -d -m 0755 -o postgres -g postgres /shared/postgres_data && sudo -E -u postgres /usr/lib/postgresql/13/bin/initdb -D /shared/postgres_data || exit 0
I, [2024-02-01T05:20:16.709471 #1]  INFO -- :
I, [2024-02-01T05:20:16.709873 #1]  INFO -- : > chown -R postgres:postgres /shared/postgres_data
I, [2024-02-01T05:20:16.748408 #1]  INFO -- :
I, [2024-02-01T05:20:16.749205 #1]  INFO -- : > chown -R postgres:postgres /var/run/postgresql
I, [2024-02-01T05:20:16.752138 #1]  INFO -- :
I, [2024-02-01T05:20:16.752728 #1]  INFO -- : > /root/upgrade_postgres
I, [2024-02-01T05:20:16.759412 #1]  INFO -- :
I, [2024-02-01T05:20:16.759890 #1]  INFO -- : > rm /root/upgrade_postgres
I, [2024-02-01T05:20:16.762107 #1]  INFO -- :
I, [2024-02-01T05:20:16.764889 #1]  INFO -- : Replacing data_directory = '/var/lib/postgresql/13/main' with data_directory = '/shared/postgres_data' in /etc/postgresql/13/main/postgresql.conf
I, [2024-02-01T05:20:16.765803 #1]  INFO -- : Replacing (?-mix:#?listen_addresses *=.*) with listen_addresses = '*' in /etc/postgresql/13/main/postgresql.conf
I, [2024-02-01T05:20:16.766486 #1]  INFO -- : Replacing (?-mix:#?synchronous_commit *=.*) with synchronous_commit = $db_synchronous_commit in /etc/postgresql/13/main/postgresql.conf
I, [2024-02-01T05:20:16.767571 #1]  INFO -- : Replacing (?-mix:#?shared_buffers *=.*) with shared_buffers = $db_shared_buffers in /etc/postgresql/13/main/postgresql.conf
I, [2024-02-01T05:20:16.768666 #1]  INFO -- : Replacing (?-mix:#?work_mem *=.*) with work_mem = $db_work_mem in /etc/postgresql/13/main/postgresql.conf
I, [2024-02-01T05:20:16.769702 #1]  INFO -- : Replacing (?-mix:#?default_text_search_config *=.*) with default_text_search_config = '$db_default_text_search_config' in /etc/postgresql/13/main/postgresql.conf
I, [2024-02-01T05:20:16.770784 #1]  INFO -- : > install -d -m 0755 -o postgres -g postgres /shared/postgres_backup
I, [2024-02-01T05:20:16.777960 #1]  INFO -- :
I, [2024-02-01T05:20:16.778711 #1]  INFO -- : Replacing (?-mix:#?checkpoint_segments *=.*) with checkpoint_segments = $db_checkpoint_segments in /etc/postgresql/13/main/postgresql.conf
I, [2024-02-01T05:20:16.779400 #1]  INFO -- : Replacing (?-mix:#?logging_collector *=.*) with logging_collector = $db_logging_collector in /etc/postgresql/13/main/postgresql.conf
I, [2024-02-01T05:20:16.780719 #1]  INFO -- : Replacing (?-mix:#?log_min_duration_statement *=.*) with log_min_duration_statement = $db_log_min_duration_statement in /etc/postgresql/13/main/postgresql.conf
I, [2024-02-01T05:20:16.782507 #1]  INFO -- : Replacing (?-mix:^#local +replication +postgres +peer$) with local replication postgres  peer in /etc/postgresql/13/main/pg_hba.conf
I, [2024-02-01T05:20:16.783245 #1]  INFO -- : Replacing (?-mix:^host.*all.*all.*127.*$) with host all all 0.0.0.0/0 md5 in /etc/postgresql/13/main/pg_hba.conf
I, [2024-02-01T05:20:16.783845 #1]  INFO -- : Replacing (?-mix:^host.*all.*all.*::1\/128.*$) with host all all ::/0 md5 in /etc/postgresql/13/main/pg_hba.conf
I, [2024-02-01T05:20:16.784749 #1]  INFO -- : > HOME=/var/lib/postgresql USER=postgres exec chpst -u postgres:postgres:ssl-cert -U postgres:postgres:ssl-cert /usr/lib/postgresql/13/bin/postmaster -D /etc/postgresql/13/main
I, [2024-02-01T05:20:16.786361 #1]  INFO -- : > sleep 5
2024-02-01 05:20:16.885 UTC [41] LOG:  starting PostgreSQL 13.13 (Debian 13.13-1.pgdg110+1) on x86_64-pc-linux-gnu, compiled by gcc (Debian 10.2.1-6) 10.2.1 20210110, 64-bit
2024-02-01 05:20:16.887 UTC [41] LOG:  listening on IPv4 address "0.0.0.0", port 5432
2024-02-01 05:20:16.887 UTC [41] LOG:  listening on IPv6 address "::", port 5432
2024-02-01 05:20:16.893 UTC [41] LOG:  listening on Unix socket "/var/run/postgresql/.s.PGSQL.5432"
2024-02-01 05:20:16.902 UTC [44] LOG:  database system was shut down at 2024-02-01 05:20:02 UTC
2024-02-01 05:20:16.911 UTC [41] LOG:  database system is ready to accept connections
I, [2024-02-01T05:20:21.790669 #1]  INFO -- :
I, [2024-02-01T05:20:21.790891 #1]  INFO -- : > su postgres -c 'createdb discourse' || true
2024-02-01 05:20:21.897 UTC [54] postgres@postgres ERROR:  database "discourse" already exists
2024-02-01 05:20:21.897 UTC [54] postgres@postgres STATEMENT:  CREATE DATABASE discourse;
createdb: error: database creation failed: ERROR:  database "discourse" already exists
I, [2024-02-01T05:20:21.900341 #1]  INFO -- :
I, [2024-02-01T05:20:21.900879 #1]  INFO -- : > su postgres -c 'psql discourse -c "create user discourse;"' || true
2024-02-01 05:20:21.987 UTC [58] postgres@discourse ERROR:  role "discourse" already exists
2024-02-01 05:20:21.987 UTC [58] postgres@discourse STATEMENT:  create user discourse;
ERROR:  role "discourse" already exists
I, [2024-02-01T05:20:21.990907 #1]  INFO -- :
I, [2024-02-01T05:20:21.991456 #1]  INFO -- : > su postgres -c 'psql discourse -c "grant all privileges on database discourse to discourse;"' || true
I, [2024-02-01T05:20:22.048297 #1]  INFO -- : GRANT

I, [2024-02-01T05:20:22.048988 #1]  INFO -- : > su postgres -c 'psql discourse -c "alter schema public owner to discourse;"'
I, [2024-02-01T05:20:22.106460 #1]  INFO -- : ALTER SCHEMA

I, [2024-02-01T05:20:22.107187 #1]  INFO -- : > su postgres -c 'psql template1 -c "create extension if not exists hstore;"'
NOTICE:  extension "hstore" already exists, skipping
I, [2024-02-01T05:20:22.183367 #1]  INFO -- : CREATE EXTENSION

I, [2024-02-01T05:20:22.183889 #1]  INFO -- : > su postgres -c 'psql template1 -c "create extension if not exists pg_trgm;"'
NOTICE:  extension "pg_trgm" already exists, skipping
I, [2024-02-01T05:20:22.240624 #1]  INFO -- : CREATE EXTENSION

I, [2024-02-01T05:20:22.241181 #1]  INFO -- : > su postgres -c 'psql template1 -c "create extension if not exists vector;"'
NOTICE:  extension "vector" already exists, skipping
I, [2024-02-01T05:20:22.297658 #1]  INFO -- : CREATE EXTENSION

I, [2024-02-01T05:20:22.298255 #1]  INFO -- : > su postgres -c 'psql discourse -c "create extension if not exists hstore;"'
NOTICE:  extension "hstore" already exists, skipping
I, [2024-02-01T05:20:22.356472 #1]  INFO -- : CREATE EXTENSION

I, [2024-02-01T05:20:22.356991 #1]  INFO -- : > su postgres -c 'psql discourse -c "create extension if not exists pg_trgm;"'
NOTICE:  extension "pg_trgm" already exists, skipping
I, [2024-02-01T05:20:22.414056 #1]  INFO -- : CREATE EXTENSION

I, [2024-02-01T05:20:22.414618 #1]  INFO -- : > su postgres -c 'psql discourse -c "create extension if not exists vector;"'
NOTICE:  extension "vector" already exists, skipping
I, [2024-02-01T05:20:22.470035 #1]  INFO -- : CREATE EXTENSION

I, [2024-02-01T05:20:22.470658 #1]  INFO -- : > sudo -u postgres psql discourse
I, [2024-02-01T05:20:22.475733 #1]  INFO -- : update pg_database set encoding = pg_char_to_encoding('UTF8') where datname = 'discourse' AND encoding = pg_char_to_encoding('SQL_ASCII');

I, [2024-02-01T05:20:22.567511 #1]  INFO -- : File > /var/lib/postgresql/take-database-backup  chmod: +x  chown: postgres:postgres
I, [2024-02-01T05:20:22.572125 #1]  INFO -- : File > /var/spool/cron/crontabs/postgres  chmod:   chown:
I, [2024-02-01T05:20:22.572526 #1]  INFO -- : > echo postgres installed!
I, [2024-02-01T05:20:22.575793 #1]  INFO -- : postgres installed!

I, [2024-02-01T05:20:22.580912 #1]  INFO -- : File > /etc/service/redis/run  chmod: +x  chown:
I, [2024-02-01T05:20:22.585785 #1]  INFO -- : File > /etc/service/redis/log/run  chmod: +x  chown:
I, [2024-02-01T05:20:22.590830 #1]  INFO -- : File > /etc/runit/3.d/10-redis  chmod: +x  chown:
I, [2024-02-01T05:20:22.593112 #1]  INFO -- : Replacing daemonize yes with  in /etc/redis/redis.conf
I, [2024-02-01T05:20:22.594012 #1]  INFO -- : Replacing (?-mix:^pidfile.*$) with  in /etc/redis/redis.conf
I, [2024-02-01T05:20:22.594826 #1]  INFO -- : > install -d -m 0755 -o redis -g redis /shared/redis_data
I, [2024-02-01T05:20:22.597926 #1]  INFO -- :
I, [2024-02-01T05:20:22.598727 #1]  INFO -- : Replacing (?-mix:^logfile.*$) with logfile "" in /etc/redis/redis.conf
I, [2024-02-01T05:20:22.599588 #1]  INFO -- : Replacing (?-mix:^bind .*$) with  in /etc/redis/redis.conf
I, [2024-02-01T05:20:22.601300 #1]  INFO -- : Replacing (?-mix:^dir .*$) with dir /shared/redis_data in /etc/redis/redis.conf
I, [2024-02-01T05:20:22.603062 #1]  INFO -- : Replacing (?-mix:^protected-mode yes) with protected-mode no in /etc/redis/redis.conf
I, [2024-02-01T05:20:22.604759 #1]  INFO -- : Replacing # io-threads 4 with io-threads $redis_io_threads in /etc/redis/redis.conf
I, [2024-02-01T05:20:22.606503 #1]  INFO -- : > echo redis installed
I, [2024-02-01T05:20:22.609035 #1]  INFO -- : redis installed

I, [2024-02-01T05:20:22.609661 #1]  INFO -- : > cat /etc/redis/redis.conf | grep logfile
I, [2024-02-01T05:20:22.614668 #1]  INFO -- : logfile ""

I, [2024-02-01T05:20:22.615160 #1]  INFO -- : > exec chpst -u redis -U redis /usr/bin/redis-server /etc/redis/redis.conf
I, [2024-02-01T05:20:22.616826 #1]  INFO -- : > sleep 10
110:C 01 Feb 2024 05:20:22.631 # oO0OoO0OoO0Oo Redis is starting oO0OoO0OoO0Oo
110:C 01 Feb 2024 05:20:22.631 # Redis version=7.0.7, bits=64, commit=00000000, modified=0, pid=110, just started
110:C 01 Feb 2024 05:20:22.631 # Configuration loaded
110:M 01 Feb 2024 05:20:22.632 * monotonic clock: POSIX clock_gettime
110:M 01 Feb 2024 05:20:22.633 * Running mode=standalone, port=6379.
110:M 01 Feb 2024 05:20:22.633 # Server initialized
110:M 01 Feb 2024 05:20:22.634 # WARNING Memory overcommit must be enabled! Without it, a background save or replication may fail under low memory condition. Being disabled, it can can also cause failures without low memory condition, see https://github.com/jemalloc/jemalloc/issues/1328. To fix this issue add 'vm.overcommit_memory = 1' to /etc/sysctl.conf and then reboot or run the command 'sysctl vm.overcommit_memory=1' for this to take effect.
110:M 01 Feb 2024 05:20:22.634 # WARNING Your system is configured to use the 'xen' clocksource which might lead to degraded performance. Check the result of the [slow-clocksource] system check: run 'redis-server --check-system' to check if the system's clocksource isn't degrading performance.
110:M 01 Feb 2024 05:20:22.635 * Loading RDB produced by version 7.0.7
110:M 01 Feb 2024 05:20:22.635 * RDB age 28 seconds
110:M 01 Feb 2024 05:20:22.635 * RDB memory usage when created 12.85 Mb
110:M 01 Feb 2024 05:20:22.670 * Done loading RDB, keys loaded: 11479, keys expired: 6.
110:M 01 Feb 2024 05:20:22.670 * DB loaded from disk: 0.035 seconds
110:M 01 Feb 2024 05:20:22.670 * Ready to accept connections
I, [2024-02-01T05:20:32.621081 #1]  INFO -- :
I, [2024-02-01T05:20:32.621808 #1]  INFO -- : > thpoff echo "thpoff is installed!"
I, [2024-02-01T05:20:32.626389 #1]  INFO -- : thpoff is installed!

I, [2024-02-01T05:20:32.626901 #1]  INFO -- : > /usr/local/bin/ruby -e 'if ENV["DISCOURSE_SMTP_ADDRESS"] == "smtp.example.com"; puts "Aborting! Mail is not configured!"; exit 1; end'
I, [2024-02-01T05:20:32.707287 #1]  INFO -- :
I, [2024-02-01T05:20:32.707923 #1]  INFO -- : > /usr/local/bin/ruby -e 'if ENV["DISCOURSE_HOSTNAME"] == "discourse.example.com"; puts "Aborting! Domain is not configured!"; exit 1; end'
I, [2024-02-01T05:20:32.788125 #1]  INFO -- :
I, [2024-02-01T05:20:32.788819 #1]  INFO -- : > /usr/local/bin/ruby -e 'if (ENV["DISCOURSE_CDN_URL"] || "")[0..1] == "//"; puts "Aborting! CDN must have a protocol specified. Once fixed you should rebake your posts now to correct all posts."; exit 1; end'
I, [2024-02-01T05:20:32.868839 #1]  INFO -- :
I, [2024-02-01T05:20:32.869502 #1]  INFO -- : > rm -f /etc/cron.d/anacron
I, [2024-02-01T05:20:32.872477 #1]  INFO -- :
I, [2024-02-01T05:20:32.875792 #1]  INFO -- : File > /etc/cron.d/anacron  chmod:   chown:
I, [2024-02-01T05:20:32.882091 #1]  INFO -- : File > /etc/runit/1.d/copy-env  chmod: +x  chown:
I, [2024-02-01T05:20:32.887278 #1]  INFO -- : File > /etc/service/unicorn/run  chmod: +x  chown:
I, [2024-02-01T05:20:32.892443 #1]  INFO -- : File > /etc/service/nginx/run  chmod: +x  chown:
I, [2024-02-01T05:20:32.897678 #1]  INFO -- : File > /etc/runit/3.d/01-nginx  chmod: +x  chown:
I, [2024-02-01T05:20:32.902952 #1]  INFO -- : File > /etc/runit/3.d/02-unicorn  chmod: +x  chown:
I, [2024-02-01T05:20:32.903394 #1]  INFO -- : Replacing # postgres with sv start postgres || exit 1 in /etc/service/unicorn/run
I, [2024-02-01T05:20:32.903939 #1]  INFO -- : > exec chpst -u redis -U redis /usr/bin/redis-server /etc/redis/redis.conf
I, [2024-02-01T05:20:32.906369 #1]  INFO -- : > cd /var/www/discourse && sudo -H -E -u discourse git reset --hard
137:C 01 Feb 2024 05:20:32.915 # oO0OoO0OoO0Oo Redis is starting oO0OoO0OoO0Oo
137:C 01 Feb 2024 05:20:32.918 # Redis version=7.0.7, bits=64, commit=00000000, modified=0, pid=137, just started
137:C 01 Feb 2024 05:20:32.918 # Configuration loaded
137:M 01 Feb 2024 05:20:32.919 * monotonic clock: POSIX clock_gettime
137:M 01 Feb 2024 05:20:32.920 # Warning: Could not create server TCP listening socket *:6379: bind: Address already in use
137:M 01 Feb 2024 05:20:32.920 # Failed listening on port 6379 (TCP), aborting.
Updating files: 100% (33715/33715), done.
I, [2024-02-01T05:20:39.803997 #1]  INFO -- : HEAD is now at 6ab1a19e9 DEV: Convert min_trust_level_to_allow_invite to groups (#24893)

I, [2024-02-01T05:20:39.804645 #1]  INFO -- : > cd /var/www/discourse && sudo -H -E -u discourse git clean -f
I, [2024-02-01T05:20:40.031462 #1]  INFO -- :
I, [2024-02-01T05:20:40.032125 #1]  INFO -- : > cd /var/www/discourse && sudo -H -E -u discourse bash -c '
  set -o errexit
  if [ $(git rev-parse --is-shallow-repository) == "true" ]; then
      git remote set-branches --add origin main
      git remote set-branches origin stable
      git fetch --depth 1 origin stable
  else
      git fetch --tags --prune-tags --prune --force origin
  fi
'
From https://github.com/discourse/discourse
 - [deleted]             (none)     -> origin/0-drop-code
 - [deleted]             (none)     -> origin/bulk-button-class
 - [deleted]             (none)     -> origin/dependabot/bundler/excon-0.108.0
 - [deleted]             (none)     -> origin/dependabot/bundler/hashdiff-1.1.0
 - [deleted]             (none)     -> origin/dependabot/bundler/parallel-1.24.0
 - [deleted]             (none)     -> origin/dependabot/bundler/rubocop-discourse-3.6.0
 - [deleted]             (none)     -> origin/dependabot/npm_and_yarn/app/assets/javascripts/uppy/drop-target-2.0.2
 - [deleted]             (none)     -> origin/dev/add-new-chat-metrics
 - [deleted]             (none)     -> origin/dev/allow-chat-mentions-to-have-several-notifications
 - [deleted]             (none)     -> origin/dev/convert-min-trust-level-to-create-tag-to-group
 - [deleted]             (none)     -> origin/dev/convert-min-trust-level-to-ignore-to-groups
 - [deleted]             (none)     -> origin/dev/rethink-mass-mentions-polymorphic
 - [deleted]             (none)     -> origin/feature/migrations-schema-generator
 - [deleted]             (none)     -> origin/fix-join-filter-upload
 - [deleted]             (none)     -> origin/fix-modal-flash-minor
 - [deleted]             (none)     -> origin/global-notice-reactive
 - [deleted]             (none)     -> origin/labeler
 - [deleted]             (none)     -> origin/low-ram-help
 - [deleted]             (none)     -> origin/multi-invite
 - [deleted]             (none)     -> origin/table-builder-modal-modifier
 - [deleted]             (none)     -> origin/wip_categories
 - [deleted]             (none)     -> origin/wizard-split
   6ab1a19e9..969ab0fd6  main                    -> origin/main
 * [new branch]          0-category-reorder      -> origin/0-category-reorder
 * [new branch]          0-ember-bump            -> origin/0-ember-bump
 * [new branch]          0-event-helper          -> origin/0-event-helper
 * [new branch]          0-extend-native         -> origin/0-extend-native
 * [new branch]          0-rev                   -> origin/0-rev
 * [new branch]          add-api-for-forced-auth -> origin/add-api-for-forced-auth
 * [new branch]          amend-visit-copy        -> origin/amend-visit-copy
 * [new branch]          asciinema-iframe        -> origin/asciinema-iframe
 * [new branch]          chat/original-message-link -> origin/chat/original-message-link
 * [new branch]          convert-header-to-glimmer -> origin/convert-header-to-glimmer
 * [new branch]          decorator-transforms    -> origin/decorator-transforms
 * [new branch]          dependabot/bundler/omniauth-2.0.0 -> origin/dependabot/bundler/omniauth-2.0.0
 * [new branch]          dependabot/bundler/parallel_tests-4.4.0 -> origin/dependabot/bundler/parallel_tests-4.4.0
 * [new branch]          dev-convert-topic-map-expanded-widget-to-component -> origin/dev-convert-topic-map-expanded-widget-to-component
 * [new branch]          dev/check-whether-online-user-ids-may-be-memoized-between-job-runs -> origin/dev/check-whether-online-user-ids-may-be-memoized-between-job-runs
 * [new branch]          dev/drop-the-user-id-column-from-chat-mentions -> origin/dev/drop-the-user-id-column-from-chat-mentions
 + e0c0191bb...feb00e04c dev/dry-up-user-status-serializers -> origin/dev/dry-up-user-status-serializers  (forced update)
 * [new branch]          dev/experiment-theme-settings-free-ui -> origin/dev/experiment-theme-settings-free-ui
 * [new branch]          dev/make-admins-tl4-in-tests -> origin/dev/make-admins-tl4-in-tests
 * [new branch]          dev/promote-plugin-post-deploy-migrations -> origin/dev/promote-plugin-post-deploy-migrations
 * [new branch]          dev/proof-of-concept-rewriting-mentions-notification-logic -> origin/dev/proof-of-concept-rewriting-mentions-notification-logic
 * [new branch]          dev_category_order_database -> origin/dev_category_order_database
 * [new branch]          dev_update_category_position -> origin/dev_update_category_position
 * [new branch]          ellaestigoy-patch-2     -> origin/ellaestigoy-patch-2
 * [new branch]          fast-edit-expand-regex  -> origin/fast-edit-expand-regex
 * [new branch]          feature/add-new-illegal-flag-reason -> origin/feature/add-new-illegal-flag-reason
 * [new branch]          feature/custom-date-range -> origin/feature/custom-date-range
 * [new branch]          feature/paste-upload-on-first-upload-input-templates -> origin/feature/paste-upload-on-first-upload-input-templates
 * [new branch]          feature_async_load_colors -> origin/feature_async_load_colors
 * [new branch]          fix-email-category-badge -> origin/fix-email-category-badge
 * [new branch]          fix_category_chooser    -> origin/fix_category_chooser
 * [new branch]          fix_in_any_groups       -> origin/fix_in_any_groups
 * [new branch]          fix_preload_sidebar_categories -> origin/fix_preload_sidebar_categories
 * [new branch]          fix_reviewable_translation -> origin/fix_reviewable_translation
   7f2bdca65..b851b879c  generic-import-latest   -> origin/generic-import-latest
 * [new branch]          hijacks                 -> origin/hijacks
 * [new branch]          issue/avatar-upload-permission-serialize -> origin/issue/avatar-upload-permission-serialize
 * [new branch]          issue/run-admin-sidebar-init-after-logs-notice -> origin/issue/run-admin-sidebar-init-after-logs-notice
 + 90a3535b7...e6e64cfd5 migrations-convert      -> origin/migrations-convert  (forced update)
 + 0fa691496...b0f74a188 plugin-extra-js         -> origin/plugin-extra-js  (forced update)
 * [new branch]          promote-migration-tweak -> origin/promote-migration-tweak
 * [new branch]          revert-25009-dev/convert-min-trust-to-allow-self-wiki-to-groups -> origin/revert-25009-dev/convert-min-trust-to-allow-self-wiki-to-groups
 * [new branch]          revert-bulk-topic-actions -> origin/revert-bulk-topic-actions
 * [new branch]          sidebar-above-outlet    -> origin/sidebar-above-outlet
 * [new branch]          site-logo-height        -> origin/site-logo-height
 * [new branch]          soft-load-topic-results -> origin/soft-load-topic-results
   d7f7f79b6..968b1a57e  stable                  -> origin/stable
 * [new branch]          support-reset-bump-date-post-id -> origin/support-reset-bump-date-post-id
   6ab1a19e9..969ab0fd6  tests-passed            -> origin/tests-passed
 * [new branch]          unhide_lazy_load_categories -> origin/unhide_lazy_load_categories
 * [new branch]          universal-nonce         -> origin/universal-nonce
 * [new branch]          unread-mobile-indicator -> origin/unread-mobile-indicator
 * [new branch]          virtual-scroll-list     -> origin/virtual-scroll-list
 t [tag update]          beta                    -> beta
 t [tag update]          latest-release          -> latest-release
 * [new tag]             v3.1.4                  -> v3.1.4
 * [new tag]             v3.1.5                  -> v3.1.5
 * [new tag]             v3.2.0                  -> v3.2.0
 * [new tag]             v3.2.0.beta4            -> v3.2.0.beta4
 * [new tag]             v3.2.0.beta5            -> v3.2.0.beta5
I, [2024-02-01T05:20:40.935200 #1]  INFO -- :
I, [2024-02-01T05:20:40.935686 #1]  INFO -- : > cd /var/www/discourse && sudo -H -E -u discourse bash -c '
  set -o errexit
  if [[ $(git symbolic-ref --short HEAD) == stable ]] ; then
      git pull
  else
      git -c advice.detachedHead=false checkout stable
  fi
'
Switched to a new branch 'stable'
I, [2024-02-01T05:20:44.064865 #1]  INFO -- : Branch 'stable' set up to track remote branch 'stable' from 'origin'.

I, [2024-02-01T05:20:44.065354 #1]  INFO -- : > cd /var/www/discourse && sudo -H -E -u discourse git config user.discourse-version stable
I, [2024-02-01T05:20:44.077044 #1]  INFO -- :
I, [2024-02-01T05:20:44.077436 #1]  INFO -- : > cd /var/www/discourse && mkdir -p tmp
I, [2024-02-01T05:20:44.085161 #1]  INFO -- :
I, [2024-02-01T05:20:44.085555 #1]  INFO -- : > cd /var/www/discourse && chown discourse:www-data tmp
I, [2024-02-01T05:20:44.090473 #1]  INFO -- :
I, [2024-02-01T05:20:44.090945 #1]  INFO -- : > cd /var/www/discourse && mkdir -p tmp/pids
I, [2024-02-01T05:20:44.094272 #1]  INFO -- :
I, [2024-02-01T05:20:44.094646 #1]  INFO -- : > cd /var/www/discourse && mkdir -p tmp/sockets
I, [2024-02-01T05:20:44.097962 #1]  INFO -- :
I, [2024-02-01T05:20:44.098333 #1]  INFO -- : > cd /var/www/discourse && touch tmp/.gitkeep
I, [2024-02-01T05:20:44.102920 #1]  INFO -- :
I, [2024-02-01T05:20:44.103294 #1]  INFO -- : > cd /var/www/discourse && mkdir -p                    /shared/log/rails
I, [2024-02-01T05:20:44.106489 #1]  INFO -- :
I, [2024-02-01T05:20:44.106964 #1]  INFO -- : > cd /var/www/discourse && bash -c "touch -a           /shared/log/rails/{production,production_errors,unicorn.stdout,unicorn.stderr,sidekiq}.log"
I, [2024-02-01T05:20:44.112554 #1]  INFO -- :
I, [2024-02-01T05:20:44.112953 #1]  INFO -- : > cd /var/www/discourse && bash -c "ln    -s           /shared/log/rails/{production,production_errors,unicorn.stdout,unicorn.stderr,sidekiq}.log /var/www/discourse/log"
I, [2024-02-01T05:20:44.119868 #1]  INFO -- :
I, [2024-02-01T05:20:44.120247 #1]  INFO -- : > cd /var/www/discourse && bash -c "mkdir -p           /shared/{uploads,backups}"
I, [2024-02-01T05:20:44.125723 #1]  INFO -- :
I, [2024-02-01T05:20:44.126103 #1]  INFO -- : > cd /var/www/discourse && bash -c "ln    -s           /shared/{uploads,backups} /var/www/discourse/public"
I, [2024-02-01T05:20:44.130710 #1]  INFO -- :
I, [2024-02-01T05:20:44.131085 #1]  INFO -- : > cd /var/www/discourse && bash -c "mkdir -p           /shared/tmp/{backups,restores}"
I, [2024-02-01T05:20:44.136397 #1]  INFO -- :
I, [2024-02-01T05:20:44.136900 #1]  INFO -- : > cd /var/www/discourse && bash -c "ln    -s           /shared/tmp/{backups,restores} /var/www/discourse/tmp"
I, [2024-02-01T05:20:44.141456 #1]  INFO -- :
I, [2024-02-01T05:20:44.141832 #1]  INFO -- : > cd /var/www/discourse && chown -R discourse:www-data /shared/log/rails /shared/uploads /shared/backups /shared/tmp
I, [2024-02-01T05:20:44.267143 #1]  INFO -- :
I, [2024-02-01T05:20:44.267732 #1]  INFO -- : > cd /var/www/discourse && [ ! -d public/plugins ] || find public/plugins/ -maxdepth 1 -xtype l -delete
I, [2024-02-01T05:20:44.270260 #1]  INFO -- :
I, [2024-02-01T05:20:44.271569 #1]  INFO -- : Replacing # redis with sv start redis || exit 1 in /etc/service/unicorn/run
I, [2024-02-01T05:20:44.273289 #1]  INFO -- : > cd /var/www/discourse/plugins && git clone https://github.com/discourse/docker_manager.git
Cloning into 'docker_manager'...
I, [2024-02-01T05:20:45.047892 #1]  INFO -- :
I, [2024-02-01T05:20:45.048485 #1]  INFO -- : > cd /var/www/discourse/plugins && git clone https://github.com/discourse/discourse-voting.git
Cloning into 'discourse-voting'...
I, [2024-02-01T05:20:45.349517 #1]  INFO -- :
I, [2024-02-01T05:20:45.350128 #1]  INFO -- : > cd /var/www/discourse/plugins && git clone https://github.com/discourse/discourse-solved.git
Cloning into 'discourse-solved'...
I, [2024-02-01T05:20:45.696361 #1]  INFO -- :
I, [2024-02-01T05:20:45.696958 #1]  INFO -- : > cd /var/www/discourse/plugins && git clone https://github.com/discourse/discourse-policy.git
Cloning into 'discourse-policy'...
I, [2024-02-01T05:20:45.985549 #1]  INFO -- :
I, [2024-02-01T05:20:45.986116 #1]  INFO -- : > cd /var/www/discourse/plugins && git clone https://github.com/discourse/discourse-adplugin.git
Cloning into 'discourse-adplugin'...
I, [2024-02-01T05:20:46.333531 #1]  INFO -- :
I, [2024-02-01T05:20:46.334121 #1]  INFO -- : > cd /var/www/discourse/plugins && git clone https://github.com/discourse/discourse-data-explorer.git
Cloning into 'discourse-data-explorer'...
I, [2024-02-01T05:20:46.684891 #1]  INFO -- :
I, [2024-02-01T05:20:46.685512 #1]  INFO -- : > cd /var/www/discourse/plugins && git clone https://github.com/communiteq/discourse-suppress-category-from-latest.git
Cloning into 'discourse-suppress-category-from-latest'...
I, [2024-02-01T05:20:46.860067 #1]  INFO -- :
I, [2024-02-01T05:20:46.860646 #1]  INFO -- : > cd /var/www/discourse/plugins && git clone https://github.com/discourse/discourse-bbcode-color
Cloning into 'discourse-bbcode-color'...
I, [2024-02-01T05:20:47.089640 #1]  INFO -- :
I, [2024-02-01T05:20:47.090378 #1]  INFO -- : > cp /var/www/discourse/config/nginx.sample.conf /etc/nginx/conf.d/discourse.conf
I, [2024-02-01T05:20:47.099746 #1]  INFO -- :
I, [2024-02-01T05:20:47.100326 #1]  INFO -- : > rm /etc/nginx/sites-enabled/default
I, [2024-02-01T05:20:47.103575 #1]  INFO -- :
I, [2024-02-01T05:20:47.104073 #1]  INFO -- : > mkdir -p /var/nginx/cache
I, [2024-02-01T05:20:47.107202 #1]  INFO -- :
I, [2024-02-01T05:20:47.108186 #1]  INFO -- : Replacing pid /run/nginx.pid; with daemon off; in /etc/nginx/nginx.conf
I, [2024-02-01T05:20:47.109528 #1]  INFO -- : Replacing (?m-ix:upstream[^\}]+\}) with upstream discourse { server 127.0.0.1:3000; } in /etc/nginx/conf.d/discourse.conf
I, [2024-02-01T05:20:47.110130 #1]  INFO -- : Replacing (?-mix:server_name.+$) with server_name _ ; in /etc/nginx/conf.d/discourse.conf
I, [2024-02-01T05:20:47.110992 #1]  INFO -- : Replacing (?-mix:client_max_body_size.+$) with client_max_body_size $upload_size ; in /etc/nginx/conf.d/discourse.conf
I, [2024-02-01T05:20:47.111810 #1]  INFO -- : Replacing (?-mix:worker_connections.+$) with worker_connections $nginx_worker_connections ; in /etc/nginx/nginx.conf
I, [2024-02-01T05:20:47.112296 #1]  INFO -- : > echo "done configuring web"
I, [2024-02-01T05:20:47.114305 #1]  INFO -- : done configuring web

I, [2024-02-01T05:20:47.114863 #1]  INFO -- : > cd /var/www/discourse && gem install bundler --conservative -v $(awk '/BUNDLED WITH/ { getline; gsub(/ /,""); print $0 }' Gemfile.lock)
I, [2024-02-01T05:20:48.019548 #1]  INFO -- : Successfully installed bundler-2.5.3
1 gem installed

I, [2024-02-01T05:20:48.020208 #1]  INFO -- : > cd /var/www/discourse && find /var/www/discourse ! -user discourse -exec chown discourse {} \+
I, [2024-02-01T05:20:56.712671 #1]  INFO -- :
I, [2024-02-01T05:20:56.723363 #1]  INFO -- : > cd /var/www/discourse && if [ "stable" != "tests-passed" ]; then
  rm -rf app/assets/javascripts/node_modules
fi
I, [2024-02-01T05:20:59.502523 #1]  INFO -- :
I, [2024-02-01T05:20:59.503242 #1]  INFO -- : > cd /var/www/discourse && su discourse -c 'yarn install --frozen-lockfile && yarn cache clean'
^[[D^[[D^[[Dwarning "@discourse/lint-configs > eslint-plugin-ember > ember-eslint-parser@0.2.5" has unmet peer dependency "@typescript-eslint/parser@^6.15.0".
warning "@discourse/lint-configs > eslint-plugin-ember > ember-eslint-parser@0.2.5" has incorrect peer dependency "typescript@^5.3.3".
warning " > @glint/environment-ember-loose@1.3.0" has unmet peer dependency "@glimmer/component@^1.1.2".
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-cjs@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-ca265ca6-43f3-4f9e-bc1f-e2610715a50c > discourse > @uppy/aws-s3@3.0.6" has incorrect peer dependency "@uppy/core@^3.1.2".
warning "workspace-aggregator-ca265ca6-43f3-4f9e-bc1f-e2610715a50c > discourse > @uppy/aws-s3-multipart@3.1.3" has incorrect peer dependency "@uppy/core@^3.1.2".
warning "workspace-aggregator-ca265ca6-43f3-4f9e-bc1f-e2610715a50c > discourse > @uppy/xhr-upload@3.1.1" has incorrect peer dependency "@uppy/core@^3.1.2".
warning "workspace-aggregator-ca265ca6-43f3-4f9e-bc1f-e2610715a50c > discourse > ember-router-service-refresh-polyfill@1.1.0" has incorrect peer dependency "ember-source@^3.4 || 4".
warning "workspace-aggregator-ca265ca6-43f3-4f9e-bc1f-e2610715a50c > discourse-plugins > ember-this-fallback@0.4.0" has unmet peer dependency "ember-source@^3.28.11 || ^4.0.0".
warning "workspace-aggregator-ca265ca6-43f3-4f9e-bc1f-e2610715a50c > admin > ember-source > router_js@8.0.3" has unmet peer dependency "rsvp@^4.8.5".
warning "workspace-aggregator-ca265ca6-43f3-4f9e-bc1f-e2610715a50c > discourse > @uppy/aws-s3 > @uppy/xhr-upload@3.3.0" has incorrect peer dependency "@uppy/core@^3.2.1".
I, [2024-02-01T05:23:59.990567 #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...
$ yarn --cwd app/assets/javascripts $(node -e 'const argv = JSON.parse(process.env.npm_config_argv).original; const passthrough = [`--frozen-lockfile`, `-s`].filter(arg => argv.includes(arg)); console.log(passthrough.join(` `));')
yarn install v1.22.19
[1/4] Resolving packages...
[2/4] Fetching packages...
[3/4] Linking dependencies...
[4/4] Building fresh packages...
$ ./run-patch-package
patch-package 8.0.0
Applying patches...
@ember/test-helpers@2.9.4 ✔
babel-plugin-debug-macros@0.3.4 ✔
content-tag@1.2.2 ✔
ember-cli@5.0.0 ✔
ember-this-fallback@0.4.0 (1 deprecation-name) ✔
ember-this-fallback@0.4.0 (2 themes) ✔
ember-this-fallback@0.4.0 (3 exclude-strict-mode) ✔
virtual-dom@2.1.1 ✔
Done in 87.51s.
Done in 164.47s.
yarn cache v1.22.19
success Cleared cache.
Done in 14.71s.

I, [2024-02-01T05:23:59.999517 #1]  INFO -- : > cd /var/www/discourse && su discourse -c 'bundle config --local deployment true'
I, [2024-02-01T05:24:00.428628 #1]  INFO -- :
I, [2024-02-01T05:24:00.429260 #1]  INFO -- : > cd /var/www/discourse && su discourse -c 'bundle config --local without "development test"'
I, [2024-02-01T05:24:00.632752 #1]  INFO -- : You are replacing the current local value of without, which is currently "test:development"

I, [2024-02-01T05:24:00.633369 #1]  INFO -- : > cd /var/www/discourse && su discourse -c 'bundle install --retry 3 --jobs 4'
I, [2024-02-01T05:24:51.790059 #1]  INFO -- : Fetching gem metadata from https://rubygems.org/.........
Fetching concurrent-ruby 1.2.3
Fetching minitest 5.21.2
Fetching bigdecimal 3.1.6
Fetching cbor 0.5.9.8
Installing minitest 5.21.2
Installing bigdecimal 3.1.6 with native extensions
Installing cbor 0.5.9.8 with native extensions
Installing concurrent-ruby 1.2.3
Fetching excon 0.109.0
Installing excon 0.109.0
Fetching fastimage 2.3.0
Installing fastimage 2.3.0
Fetching highline 3.0.1
Fetching google-protobuf 3.25.2 (x86_64-linux)
Installing highline 3.0.1
Fetching image_size 3.4.0
Installing image_size 3.4.0
Installing google-protobuf 3.25.2 (x86_64-linux)
Fetching regexp_parser 2.9.0
Installing regexp_parser 2.9.0
Fetching logster 2.16.0
Fetching stackprof 0.2.26
Installing stackprof 0.2.26 with native extensions
Installing logster 2.16.0
Fetching nokogiri 1.16.0 (x86_64-linux)
Installing nokogiri 1.16.0 (x86_64-linux)
Fetching rack-protection 3.2.0
Installing rack-protection 3.2.0
Fetching bootsnap 1.17.1
Installing bootsnap 1.17.1 with native extensions
Fetching net-http 0.4.1
Installing net-http 0.4.1
Fetching sass-embedded 1.70.0 (x86_64-linux-gnu)
Installing sass-embedded 1.70.0 (x86_64-linux-gnu)
Fetching puma 6.4.2
Installing puma 6.4.2 with native extensions
Fetching rbtrace 0.5.1
Installing rbtrace 0.5.1 with native extensions
Fetching net-imap 0.4.9.1
Installing net-imap 0.4.9.1
Fetching net-smtp 0.4.0.1
Installing net-smtp 0.4.0.1
Fetching faraday-net_http 3.1.0
Installing faraday-net_http 3.1.0
Fetching activesupport 7.0.8
Installing activesupport 7.0.8
Fetching tzinfo-data 1.2023.4
Installing tzinfo-data 1.2023.4
Fetching sassc-embedded 1.70.0
Installing sassc-embedded 1.70.0
Fetching faraday 2.9.0
Installing faraday 2.9.0
Fetching activemodel 7.0.8
Installing activemodel 7.0.8
Fetching actionview 7.0.8
Installing actionview 7.0.8
Fetching activejob 7.0.8
Installing activejob 7.0.8
Fetching activerecord 7.0.8
Installing activerecord 7.0.8
Fetching actionpack 7.0.8
Installing actionpack 7.0.8
Fetching actionmailer 7.0.8
Installing actionmailer 7.0.8
Fetching railties 7.0.8
Installing railties 7.0.8
Bundle complete! 138 Gemfile dependencies, 170 gems now installed.
Gems in the groups 'development' and 'test' were not installed.
Bundled gems are installed into `./vendor/bundle`

I, [2024-02-01T05:24:51.794263 #1]  INFO -- : > cd /var/www/discourse && su discourse -c 'LOAD_PLUGINS=0 bundle exec rake plugin:pull_compatible_all'
I, [2024-02-01T05:24:57.793104 #1]  INFO -- : discourse-adplugin is already at latest compatible version
discourse-bbcode-color is already at latest compatible version
discourse-data-explorer is already at latest compatible version
discourse-policy is already at latest compatible version
discourse-solved is already at latest compatible version
discourse-suppress-category-from-latest is already at latest compatible version
discourse-voting is already at latest compatible version
docker_manager is already at latest compatible version

I, [2024-02-01T05:24:57.796053 #1]  INFO -- : > cd /var/www/discourse && su discourse -c 'bundle exec rake db:migrate'
Plugin name is 'discourse-topic-voting', but plugin directory is named 'discourse-voting'
I, [2024-02-01T05:25:07.163248 #1]  INFO -- :
I, [2024-02-01T05:25:07.166699 #1]  INFO -- : > cd /var/www/discourse && su discourse -c 'bundle exec rake themes:update assets:precompile'
Plugin name is 'discourse-topic-voting', but plugin directory is named 'discourse-voting'
Node.js heap_size_limit (487.0) is less than 2048MB. Setting --max-old-space-size=2048.
110:M 01 Feb 2024 05:25:23.049 * 100 changes in 300 seconds. Saving...
110:M 01 Feb 2024 05:25:23.053 * Background saving started by pid 3562
3562:C 01 Feb 2024 05:25:23.932 * DB saved on disk
3562:C 01 Feb 2024 05:25:23.933 * Fork CoW for RDB: current 1 MB, peak 1 MB, average 0 MB
110:M 01 Feb 2024 05:25:23.955 * Background saving terminated with success

110:M 01 Feb 2024 06:20:24.614 * Replication backlog freed after 3600 seconds without connected replicas.

The CPU utilization shows under 10% and it gets stuck here for hours on end. I’ve tried to reboot the instance and restart the upgrade, it gets stuck at the same point again.

إعجاب واحد (1)

هناك احتمال أن تكون ذاكرة الوصول العشوائي (RAM) لديك غير كافية، مما يتسبب في الكثير من التبديل (swapping)، وهذا يعني أن وحدة المعالجة المركزية (CPU) لن تكون مستغلة بالكامل لأن الجهاز يقوم دائمًا بتحميل الأشياء وإخراجها.

يمكنك قياس الأشياء من سطر الأوامر:

cat /etc/lsb-release
df -h /
free
vmstat 5 5

إما مع وجود الجهاز في حالة هادئة، أو في الوقت الذي يكون فيه عالقًا. (اتصل من نافذة ثانية للحصول على سطر أوامر ثانٍ. أو ما شابه ذلك.)

3 إعجابات

شكرًا، في عملية إعادة البناء هذه، تسير الأمور ببطء شديد عند yarn، بالكاد يتم استخدام وحدة المعالجة المركزية ولا يبدو أن هناك الكثير من عمليات الإدخال/الإخراج أيضًا. أنا في حيرة من أمري لماذا تسير الأمور ببطء شديد.

ubuntu@ip-172-26-6-122:~$ cat /etc/lsb-release
df -h /
free
vmstat 5 5
DISTRIB_ID=Ubuntu
DISTRIB_RELEASE=22.04
DISTRIB_CODENAME=jammy
DISTRIB_DESCRIPTION="Ubuntu 22.04.3 LTS"
Filesystem      Size  Used Avail Use% Mounted on
/dev/root        39G   19G   21G  47% /
              total        used        free      shared  buff/cache   available
Mem:          972524      399360       75956       14532      497208      365668
Swap:        2097148       51296     2045852
procs -----------memory---------- ---swap-- -----io---- -system-- ------cpu-----\n r  b   swpd   free   buff  cache   si   so    bi    bo   in   cs us sy id wa st\n 0  4  51296  75956  56504 440780  951  936  7442  1197  620 1597  2  4  2 91  0\n 0  5  51296  69668  56632 444976    0    0   418   585  389  893  2  2  0 96  0\n 0  4  51296  65384  57280 448368    0    0   422   599  382  906  1  1  0 97  0\n 0  4  51296  74460  57564 439444    0    0   506   546  399  946  1  3  0 96  0\n 0  4  51296  64588  57828 444900    0    0   545   614  407  983  2  2  0 96  0\n```

![image|690x401](upload://642KzuHZTAZdGgGlyec7wHRZkDV.png)

قبل الإصدار 3.2.0، كانت عمليات إعادة البناء عادةً تسير بسرعة وتكتمل في حوالي 10-20 دقيقة.

شكرًا. إذن، لا يوجد تبديل، ولا توجد مشكلة في ذاكرة الوصول العشوائي (RAM). لديك إدخال/إخراج (I/O) مستمر للكتل. هل يمكن أن يكون هذا تخزينًا عن بُعد؟ هل كل شيء محلي أم أن لديك تخزينًا سحابيًا متضمنًا؟

ألاحظ أن كلًا من snapd و amazon-ssm-agent قد استهلكا قدرًا كبيرًا من وقت وحدة المعالجة المركزية (CPU)، على الرغم من أن نسبتهما صفر. لا أعرف ما يحدث هناك - ليس لدي أي منهما.

إذا كان الإدخال/الإخراج (I/O) بطيئًا حقًا، فقد يكون ذلك بسبب أنك تشارك جهازًا (وقرصًا) مع جار يستهلك الكثير من الموارد. ربما يمكنك أن تطلب من مزود الاستضافة الخاص بك نقلك، أو التحقق؟

عذرًا، لا توجد إجابات جيدة في الوقت الحالي.

التشغيل على EC2/Lightsail. اعتقدت أن المشكلة قد تكون في المثيل، لذلك أخذت لقطة شاشة وقمت بتشغيل مثيل جديد في منطقة مختلفة تمامًا ولا يزال عالقًا عند

3536:C 01 Feb 2024 18:24:10.670 * تم حفظ قاعدة البيانات على القرص
3536:C 01 Feb 2024 18:24:10.672 * نسخ عند الكتابة لـ RDB: حالي 1 ميجابايت، ذروة 1 ميجابايت، متوسط 1 ميجابايت
110:M 01 Feb 2024 18:24:10.761 * انتهى الحفظ في الخلفية بنجاح
اسم المكون الإضافي هو 'discourse-topic-voting'، ولكن اسم دليل المكون الإضافي هو 'discourse-voting'
حد حجم ذاكرة Node.js (487.0) أقل من 2048 ميجابايت. تم تعيين --max-old-space-size=2048.
110:M 01 Feb 2024 18:29:11.092 * 100 تغيير في 300 ثانية. جاري الحفظ...
110:M 01 Feb 2024 18:29:11.509 * بدأ الحفظ في الخلفية بواسطة المعرف 3721
3721:C 01 Feb 2024 18:29:59.839 * تم حفظ قاعدة البيانات على القرص
3721:C 01 Feb 2024 18:29:59.840 * نسخ عند الكتابة لـ RDB: حالي 1 ميجابايت، ذروة 1 ميجابايت، متوسط 1 ميجابايت
110:M 01 Feb 2024 18:29:59.876 * انتهى الحفظ في الخلفية بنجاح

هذه هي النقطة التي “يتجمد” عندها:

ubuntu@ip-172-26-6-122:~$ cat /etc/lsb-release
df -h /
free
vmstat 5 5
DISTRIB_ID=Ubuntu
DISTRIB_RELEASE=22.04
DISTRIB_CODENAME=jammy
DISTRIB_DESCRIPTION="Ubuntu 22.04.3 LTS"
Filesystem      Size  Used Avail Use% Mounted on
/dev/root        39G   19G   21G  47% /
               total        used        free      shared  buff/cache   available
Mem:          972524      674416      155656       15932      142452      143064
Swap:        2097148      201824     1895324
procs -----------memory---------- ---swap-- -----io---- -system-- ------cpu-----\n r  b   swpd   free   buff  cache   si   so    bi    bo   in   cs us sy id wa st
 1  5 201824 155408   3220 140844  870  860  6959  1176  601 1627  3  4  2 91  0
 1  0 201824 154824   5588 169332    3    0  5503    11  365 1708 39  8  0 53  0
 3  0 202336  67104   4896 159076   48  150   986   194  321 3046 96  4  0  0  0
 0  6 209760  74732    296 114488  283 1738  8385  1934  499 2265 46  5  0 49  0
 0  4 212576  76968    200 115316    0  569  7678   652  387  524  1  1  0 97  0

ويظهر htop أنه عالق في استهلاك دورات وحدة المعالجة المركزية على node و ember و snapd، حيث أنه فجأة يزداد ويستهلك 100% من وحدة المعالجة المركزية ثم يبقى عند حوالي أقل من 5% لفترة من الوقت ثم يزداد مرة أخرى وهكذا.

أشك في أن المشكلة تتعلق بترقية discourse نفسها. هل هناك طريقة “لإعادة تعيين” ترقية discourse وجعلها تبدأ من جديد؟

يبدو لي أن هناك خطأ ما في عملية بناء Discourse عند محاولة تجميع الأصول مسبقًا. لقد توقفت العملية تمامًا دون أي استهلاك للإدخال/الإخراج أو لوحدة المعالجة المركزية.

لا يمكنني العثور على أي شيء في البحث في المنتدى حول كيفية إعادة تعيين إعادة البناء من وحدة التحكم وقد نفدت أفكاري هنا. @JammyDodger أبحث عن بعض المساعدة من الخبراء الذين قد يلقون الضوء على سبب توقف إعادة البناء وكيفية إعادة تعيينها.

إعجاب واحد (1)

أعتقد أن كل ./launcher rebuild app جديد يبدأ نسخة جديدة، لذا إذا قمت بإعادة التشغيل وجربت إعادة بناء أخرى، فيجب أن يبدأ من الصفر في كل مرة.

هل يمكن أن يكون هذا مرتبطًا بالتغييرات التي أجريتها على عدد اليونيكورن؟

إعجاب واحد (1)

هذا سؤال رائع. لا أعرف وهذا ما كنت آمل أن يعلق عليه فريق التطوير. سأحاول إعادة بنائه مرة أخرى باستخدام 2 وحيد قرن بدلاً من 1.

نعم، حيث أن التخزين الافتراضي في AWS هو الأكثر شيوعًا في المثيلات.

أعتقد أنه يقوم بالتبديل عبر الشبكة، لذا فهو سريع بالقدر الذي نراه هنا.

بينما تكون خطوة بناء JS بطيئة أيضًا في أنواع المثيلات الصغيرة من DO، إلا أنها على الأقل تخزين محلي على حد علمي.

بالنسبة لما يجب فعله بعد ذلك، يبدو أن الطريقة الوحيدة للخروج هي الانتقال إلى نوع مثيل أكثر تكلفة.

إعجاب واحد (1)

سأجرب ذلك تاليًا. المدهش هو أنني قمت بتشغيل هذه النسخة لسنوات عديدة الآن. لم أواجه أي مشكلة في الترقية حتى الإصدار 3.1.5. فجأة مع الإصدار 3.2.0 بدأت أواجه مشاكل. هل كان هناك تغيير كبير في متطلبات النظام؟ لقد جربت نسخًا متعددة من لقطات من 3.1.1 إلى 3.1.5 ولم يكتمل أي منها الترقية إلى 3.2.0

من الغريب بعض الشيء لأن هذا الخادم يمكنه تشغيل Discourse بشكل جيد، والمشكلة بأكملها هي “فقط” بناء ملفات JS. أصبحت هذه العملية أثقل بكثير على مدار العام الماضي، وهذا حتى مع الأخذ في الاعتبار الجهود المتعددة التي بذلناها للحفاظ عليها قيد التشغيل على خوادم صغيرة.

آه، حسنًا، لذا مع مثيل بذاكرة وصول عشوائي (RAM) بسعة 1 جيجابايت والمبادلة عبر الشبكة، قد تكون على ما يرام في خدمة منتداك يومًا بعد يوم ولكن الترقية - خاصة في الآونة الأخيرة - تستهلك الكثير من ذاكرة الوصول العشوائي. أوصي بأن تأخذ بضع دقائق من وقت التعطل، وتغيير الحجم مؤقتًا إلى مثيل بسعة 8 جيجابايت، ثم إجراء الترقية ثم تغيير الحجم مرة أخرى. لقد فعلت هذا، وكلفني أقل من دولار إضافي. كما أنه عمل بشكل أسرع وأنقذني من الكثير من التوتر.
الشيء المهم هو أنك لا تحتاج إلى مضاعفة أو مضاعفة إنفاقك الشهري - فأنت تجري تغييرًا مؤقتًا.

إعجابَين (2)

نعم، لقد تجاوزت بالفعل 20 ساعة من وقت التعطل الآن. إذن، هل أخذت لقطة، وقمت بتغيير حجم مثيل جديد، وقمّت بترقية Discourse، ثم أخذت لقطة أخرى ثم قمت بتغيير حجم مثيل جديد. هل فهمت ذلك بشكل صحيح؟

تعديل: هل يمكنني استعادة نسخة احتياطية 3.1.1 بأمان باستخدام مثيل 3.2.0؟ بشكل أساسي، هل أبقي آخر لقطة عاملة قيد التشغيل لتقليل وقت التعطل، ثم أقوم بعمل نسخة احتياطية من Discourse من مثيل 3.1.1 وبمجرد أن يكون مثيل 3.2.0 الجديد جاهزًا، أقوم باستعادة نسخة Discourse الاحتياطية 3.1.1 هذه؟

عندما تقول التبديل عبر الشبكة، إلى ماذا تشير؟ المثيل قائم بذاته، الشيء الوحيد الموجود على S3 هو النسخ الاحتياطية. لقد احتفظت بجميع الملفات محليًا.

اعتقد فالكو أن هذا ما تفعله EC2/Lightsail - ليس لدي هذه المعرفة.

أعتقد ذلك. لكن خذ رأيًا ثانيًا!

هذا ليس ما فعلته، ولكنه قد يكون مكافئًا. مع مقدمي الخدمة الخاصين بي (Digital Ocean و Hetzner)، يتم تقديم إجراء يسمى “تغيير الحجم” أو ما شابه، حيث ينخفض المثيل الخاص بي، وتمر بضع دقائق، ثم يظهر مثيل جديد بعنوان IP الصحيح وجميع محتويات القرص الصحيحة، ولكن بكمية أكبر أو أقل من ذاكرة الوصول العشوائي ووحدات المعالجة المركزية. في كلتا الحالتين، تقوم الواجهة بعمل تمييز قوي بين تغيير الحجم القابل للعكس وتغيير الحجم غير القابل للعكس. لم آخذ لقطة أو نسخة احتياطية على مستوى المزود مطلقًا، ولم أستخدم أمازون مطلقًا، لذلك قد يكون الأمر مختلفًا هناك. آسف، لا توجد خبرة مباشرة!

تحرير: قد يكون من المفيد إضافة EC2/Lightsail إلى عنوان الموضوع؟

إعجاب واحد (1)

أعدته إلى 2 من 1، لم يحدث أي فرق. لا يزال معلقًا.

بالنظر إلى الإحصائيات، فهي لا تستهلك وحدة المعالجة المركزية، ولا تستخدم كل ذاكرة الوصول العشوائي/التبديل المتاحة أيضًا. أنا فقط لا أعرف لماذا يتباطأ إلى درجة أنه انتقل من استغراق 20 دقيقة لبناء 3.1.5 إلى الآن ساعات في 3.2.0 وهو عالق بعد انتهاء الحفظ في الخلفية.

ما الذي أغفله هنا يا فالكو؟ ماذا يمكن أن يكون يفعل دون استهلاك وحدة المعالجة المركزية أو ذاكرة الوصول العشوائي أو أي عمليات إدخال/إخراج كبيرة على القرص؟

لم أدرك أنه في كل مرة أقوم فيها بإعداد مثيل جديد من لقطة شاشة، سيتصل الخادم بـ letsencrypt لتجديد شهادة جديدة وتجاوز الحد الأقصى للأسبوع التالي.

هناك طريقة لإجبار discourse على إنشاء شهادة جديدة باستخدام الحل البديل المقدم هنا: https://letsencrypt.org/docs/duplicate-certificate-limit/

تحرير: تمكنت من جعل الشهادات تعمل. قمت بنسخ الدليل letsencrypt بأكمله من /var/discourse/shared/standalone من المثيل ذي الشهادة الصالحة إلى المثيل الجديد. قمت أيضًا بنسخ مجلد ssl بالإضافة إلى مجلد letsencrypt - ولكن السؤال هو - هل هذا مطلوب؟

ما الفرق بين مجلد letsencrypt ومجلد ssl؟ أسأل لأنني لاحظت أن ملفات الشهادات في المجلدين تختلف في الحجم والطابع الزمني؟ @JammyDodger هل تعرف لماذا يتم تخزين ملفات الشهادات في مجلدين مختلفين؟

@JammyDodger @Falco @Ed_S شكراً لكم جميعاً على مساعدتكم في حل هذه المشكلة.

لذلك تمكنت أخيرًا من بنائه على مثيل بذاكرة وصول عشوائي (RAM) بسعة 2 جيجابايت. يبدو أنه أثناء محاولة بناء إصدار 3.2.0 من Discourse، كان يطلب 64 جيجابايت من الذاكرة الافتراضية لـ Ember. هذا يبدو جنونيًا جدًا.

لذلك يبدو أن الإصدار 3.1.5 هو آخر إصدار سيعمل على 1 جيجابايت من ذاكرة الوصول العشوائي. بدءًا من الإصدار 3.2.0، يبدو أن الحد الأدنى هو 2 جيجابايت. @falco @sam هل يمكننا توقع مضاعفة متطلبات الأجهزة لتحديث Discourse؟ يمكن لـ Discourse العمل بشكل جيد جدًا على 1 جيجابايت، إنها الترقيات هي التي تدمرها. هل هناك أي طريقة لبناء الأصول أو الصور مسبقًا والاحتفاظ بها على GitHub وتنزيلها أثناء الترقية لتقليل حمل الذاكرة؟ القلق هو أنه بالنسبة للمواقع الصغيرة، لا نحتاج إلى مثيلات بذاكرة 2 جيجابايت أو 4 جيجابايت أو 8 جيجابايت.

إد، للعلم فقط - استراتيجيتي لا تعمل مع Lightsail. بمجرد الترقية إلى مثيل أكبر، لا توجد طريقة للتراجع. لذا يمكنني أخذ لقطة شاشة للخادم بسعة 1 جيجابايت، ثم تشغيل خادم جديد بسعة 2 جيجابايت (وترقية Discourse)، ولكن بعد ذلك عند أخذ لقطة شاشة للخادم بسعة 2 جيجابايت، لا توجد طريقة لإعادة تشغيلها على خادم بسعة 1 جيجابايت (لأن نظام الملفات ينتقل من 40 جيجابايت إلى 60 جيجابايت ولا يمكن عكس ذلك). مع ذلك، لا يزال الوضع غير مريح حيث يحتاج المرء إلى “توسيع” الخادم فقط لترقية البرنامج.

لذلك بشكل أساسي إذا كنت تستخدم Lightsail، فأنت بحاجة إلى الحصول على مثيل بسعة 2 جيجابايت على الأقل (وداعًا لـ 1 جيجابايت) وإذا فشل المثيل بسعة 2 جيجابايت لسبب ما (مثل الحاجة إلى 64 جيجابايت من الذاكرة الافتراضية لموقع صغير) في بناء / ترقية Discourse، فأنت في ورطة :frowning:
الحل الوحيد سيكون على الأرجح التبديل إلى EC2 أو شيء مثل Digital Ocean حيث يمكنك توسيع ذاكرة الوصول العشوائي / وحدة المعالجة المركزية ديناميكيًا لإكمال ترقية Discourse ثم تقليصها بعد اكتمال الترقية. ما زلت أجد صعوبة في تصور أننا نحتاج إلى موارد أكثر لترقية البرنامج من تشغيل البرنامج.

أخيرًا، سيكون من الجيد لو قدمت عملية الترقية خطأً ما إذا كانت تحتاج إلى المزيد من ذاكرة الوصول العشوائي ولكنها لم تتمكن من الحصول عليها. الفشل بصمت والتسبب في تباطؤ النظام بأكمله ليس صحيحًا (بالمناسبة، كمرجع، جربت overcommit_memory مع 1 و 0 على مثيلي بسعة 1 جيجابايت - ولكن كما قلت، لم تكن هناك أخطاء، حتى أن ذاكرة الوصول العشوائي / التبديل لم تكن ممتلئة في وقت التعليق من لقطات الشاشة أعلاه).

إعجاب واحد (1)

في مرحلة ما لا أمانع في شحن صورة تم إنشاؤها ذاتيًا: Can Discourse ship frequent Docker images that do not need to be bootstrapped?

ربما إذا تم تبسيط هذه السلسلة الكاملة من القيود:

  • تقوم بتشغيل حاوية pg
  • تقوم بتشغيل حاوية redis
  • تقوم بتشغيل حاوية تم إنشاؤها ذاتيًا، مع دعم صفر للمكونات الإضافية المخصصة، سنقوم فقط بتجميعها مع المكونات الرسمية

يمكن أن ينجح هذا ويكون مفيدًا للأشخاص، والجانب السلبي هو أننا سنقوم بتغيير قصة التثبيت الخاصة بنا مما يضاعف دعمنا للتثبيت المجاني بشكل فعال

تشغيل ذاكرة تخزين مؤقت للأصول المجمعة، لست متأكدًا من أننا نستطيع تحقيق ذلك، فسيكون الأمر معقدًا للغاية مع الكثير من الأجزاء المتحركة.

4 إعجابات