Ich scheine bei der Ausführung des neuesten Upgrades auf ein Problem gestoßen zu sein, das aufgrund des Folgenden fehlschlägt:
PG::UniqueViolation: ERROR: duplicate key value violates unique constraint "index_users_on_username_lower"
DETAIL: Key (username_lower)=(scottie) already exists.
Ich habe versucht, mich zu erholen, indem ich versuchte, diesen Benutzer zu löschen, indem ich entweder auf die Rails-Konsole oder direkt auf die Postgres-Datenbank zugriff, und ich erhalte ständig einen Fehler, dass der Server nicht läuft.
Im Folgenden versuche ich, Rails nach dem Starten der App auszuführen:
FAILED
--------------------
Pups::ExecError: cd /var/www/discourse && su discourse -c 'bundle exec rake db:migrate' failed with return #<Process::Status: pid 3743 exit 1>
Location of failure: /pups/lib/pups/exec_command.rb:112:in `spawn'
exec failed with the params {"cd"=>"$home", "hook"=>"db_migrate", "cmd"=>["su discourse -c 'bundle exec rake db:migrate'"]}
c744729efb7a5813699e2fe8fa46ab551352d45ada8dcb9204121508364f8438
** FAILED TO BOOTSTRAP ** please scroll up and look for earlier error messages, there may be more than one.
./discourse-doctor may help diagnose the problem.
root@kForum:/var/discourse# ./launcher start app
starting up existing container
+ /usr/bin/docker start app
app
root@kForum:/var/discourse# ./launcher enter app
root@kForum-app:/var/www/discourse# rails c
bundler: failed to load command: pry (/var/www/discourse/vendor/bundle/ruby/2.7.0/bin/pry)
PG::ConnectionBad: could not connect to server: No such file or directory
Is the server running locally and accepting
connections on Unix domain socket "/var/run/postgresql/.s.PGSQL.5432"?
Im Folgenden versuche ich, Postgres auszuführen:
root@kForum:/var/discourse# ./launcher enter app
root@kForum-app:/var/www/discourse# su discourse
discourse@kForum-app:/var/www/discourse$ psql discourse
psql: error: could not connect to server: No such file or directory
Is the server running locally and accepting
connections on Unix domain socket "/var/run/postgresql/.s.PGSQL.5432"?
discourse@kForum-app:/var/www/discourse$
Ich stelle einen früheren Snapshot in DigitalOcean wieder her, um wieder in einen funktionierenden Zustand zu gelangen, aber der seltsame (beängstigende?) Teil ist, dass selbst das Wiederherstellen des Snapshot den Standort nicht wieder in Betrieb genommen zu haben scheint. Dieser Snapshot wurde vor über 24 Stunden erstellt, als ich wusste, dass die Foren einwandfrei funktionierten, also sollte dies nichts mit dem Upgrade zu tun haben, das ich versucht habe.
In meinem wiederhergestellten Snapshot ist dies der Fehler, den ich sehe, wenn ich versuche, die App zu stoppen/starten/neu zu starten:
root@kForum:/var/discourse# ./launcher restart app
+ /usr/bin/docker stop -t 10 app
app
starting up existing container
+ /usr/bin/docker start app
Error response from daemon: container "a1023d05a7b4de25ded1aa69ad49caed9fa59d15fa8e8130d32db82934139e6b": already exists
Error: failed to start containers: app
root@kForum:/var/discourse#
Schließlich habe ich discourse-doctor ausgeführt, und dies scheint ein relevanter Teil des Fehlers zu sein?
Checking cluster versions ok
The source cluster was not shut down cleanly.
Failure, exiting
-------------------------------------------------------------------------------------
UPGRADE OF POSTGRES FAILED
Please visit https://meta.discourse.org/t/postgresql-13-update/172563 for support.
You can run ./launcher start app to restart your app in the meanwhile
FAILED
--------------------
Pups::ExecError: /root/upgrade_postgres failed with return #<Process::Status: pid 46 exit 1>
Location of failure: /pups/lib/pups/exec_command.rb:112:in `spawn'
exec failed with the params "/root/upgrade_postgres"
c98d1b076faed9b0c728cd944b3f2436afc9e266910b82a644c71fd80b42f073
** FAILED TO BOOTSTRAP ** please scroll up and look for earlier error messages, there may be more than one.
./discourse-doctor may help diagnose the problem.
==================== END REBUILD LOG ====================
Failed to rebuild app.
Checking your domain name . . .
Connection to forum.kirupa.com succeeded.
You should probably remove any non-standard plugins and rebuild.
Attempting to restart existing container. . .
starting up existing container
+ /usr/bin/docker start app
Error response from daemon: driver failed programming external connectivity on endpoint app (78a35e0f12e5af560bd1f991ead900fefd0c81570cc4582fe99aaa5e56b238e8): Error starting userland proxy: listen tcp 0.0.0.0:443: bind: address already in use
Error: failed to start containers: app
Failed to restart the container.
==================== PLUGINS ====================
- git clone https://github.com/discourse/docker_manager.git
- git clone https://github.com/discourse/discourse-solved.git
- git clone https://github.com/discourse/discourse-sitemap.git
No non-official plugins detected.
See https://github.com/discourse/discourse/blob/master/lib/plugin/metadata.rb for the official list.
========================================
Discourse version at forum.kirupa.com: NOT FOUND
Discourse version at localhost: NOT FOUND
Gedanken dazu, was hier los ist? Mein erstes Ziel ist es, die Foren wiederherzustellen. Das Beheben der Upgrade-Fehler ist mein zweites Ziel.
Danke,
Kirupa