Viele Probleme: Eingeloggte Mitarbeiter können nicht auf Themen zugreifen, manuelles Upgrade schlägt fehl, Benutzerkarten öffnen sich nicht, Standardanmeldung funktioniert nicht

Hallo. Ich habe bereits ein ähnliches Problem gepostet, das nicht vollständig gelöst wurde. Derzeit gibt es einige schwerwiegende Probleme mit unseren Foren.

  1. Upgrades über die Befehlszeile schlagen fehl.
    1. Ich habe versucht, alle Erweiterungen zu entfernen, aber es hat immer noch nicht funktioniert.

    2. Ich habe eine neue Instanz erstellt, das Backup der alten kopiert und über die Befehlszeile wiederhergestellt. Es endete mit einigen Fehlern:

      ERROR:  could not create unique index "index_incoming_referers_on_path_and_incoming_domain_id"
      DETAIL:  Key (path, incoming_domain_id)=(/m/search, 18) is duplicated.
      EXCEPTION: psql failed: DETAIL:  Key (path, incoming_domain_id)=(/m/search, 18) is duplicated.
      /var/www/discourse/lib/backup_restore/database_restorer.rb:87:in `restore_dump'
      /var/www/discourse/lib/backup_restore/database_restorer.rb:26:in `restore'
      /var/www/discourse/lib/backup_restore/restorer.rb:51:in `run'
      script/discourse:145:in `restore'
      /var/www/discourse/vendor/bundle/ruby/2.7.0/gems/thor-1.1.0/lib/thor/command.rb:27:in `run'
      /var/www/discourse/vendor/bundle/ruby/2.7.0/gems/thor-1.1.0/lib/thor/invocation.rb:127:in `invoke_command'
      /var/www/discourse/vendor/bundle/ruby/2.7.0/gems/thor-1.1.0/lib/thor.rb:392:in `dispatch'
      /var/www/discourse/vendor/bundle/ruby/2.7.0/gems/thor-1.1.0/lib/thor/base.rb:485:in `start'
      script/discourse:286:in `<top (required)>'
      /usr/local/lib/ruby/gems/2.7.0/gems/bundler-2.2.7/lib/bundler/cli/exec.rb:63:in `load'
      /usr/local/lib/ruby/gems/2.7.0/gems/bundler-2.2.7/lib/bundler/cli/exec.rb:63:in `kernel_load'
      /usr/local/lib/ruby/gems/2.7.0/gems/bundler-2.2.7/lib/bundler/cli/exec.rb:28:in `run'
      /usr/local/lib/ruby/gems/2.7.0/gems/bundler-2.2.7/lib/bundler/cli.rb:494:in `exec'
      /usr/local/lib/ruby/gems/2.7.0/gems/bundler-2.2.7/lib/bundler/vendor/thor/lib/thor/command.rb:27:in `run'
      /usr/local/lib/ruby/gems/2.7.0/gems/bundler-2.2.7/lib/bundler/vendor/thor/lib/thor/invocation.rb:127:in `invoke_command'
      /usr/local/lib/ruby/gems/2.7.0/gems/bundler-2.2.7/lib/bundler/vendor/thor/lib/thor.rb:392:in `dispatch'
      /usr/local/lib/ruby/gems/2.7.0/gems/bundler-2.2.7/lib/bundler/cli.rb:30:in `dispatch'
      /usr/local/lib/ruby/gems/2.7.0/gems/bundler-2.2.7/lib/bundler/vendor/thor/lib/thor/base.rb:485:in `start'
      /usr/local/lib/ruby/gems/2.7.0/gems/bundler-2.2.7/lib/bundler/cli.rb:24:in `start'
      /usr/local/lib/ruby/gems/2.7.0/gems/bundler-2.2.7/exe/bundle:49:in `block in <top (required)>'
      /usr/local/lib/ruby/gems/2.7.0/gems/bundler-2.2.7/lib/bundler/friendly_errors.rb:130:in `with_friendly_errors'
      /usr/local/lib/ruby/gems/2.7.0/gems/bundler-2.2.7/exe/bundle:37:in `<top (required)>'
      /usr/local/bin/bundle:23:in `load'
      /usr/local/bin/bundle:23:in `<main>'
      Trying to rollback...
      Rolling back...
      Cleaning stuff up...
      Dropping functions from the discourse_functions schema...
      Removing tmp '/var/www/discourse/tmp/restores/default/2021-08-30-124350' directory...
      Unpausing sidekiq...
      Marking restore as finished...
      Notifying 'system' of the end of the restore...
      Finished!
      [FAILED]
      Restore done.
      
    3. Anschließend habe ich ./launcher rebuild app ausgeführt, um zu sehen, ob es funktioniert, erhielt aber ähnliche Fehlermeldungen:

      rake aborted!
      StandardError: An error has occurred, this and all later migrations canceled:
      
      ERROR:  unsupported Unicode escape sequence
      DETAIL:  \u0000 cannot be converted to text.
      

      und

      FAILED
      --------------------
      Pups::ExecError: cd /var/www/discourse && su discourse -c 'bundle exec rake db:migrate' failed with 
      return #<Process::Status: pid 4162 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'"]}
      c618c071d6a0240d55ce704cedd63d2ee4cf1df589810d2130049a78b69f327e
      
    4. Ich habe auch discourse-doctor ausgeführt, leider ohne Erfolg.

  2. Wir können uns nicht normal mit einem Benutzernamen und Passwort anmelden, es tritt ein Fehler auf.
    1. Nur andere Anmeldeverfahren funktionieren (GitHub, Google, etc.).
  3. Benutzerkarten werden für Benutzer nicht angezeigt. Wenn Sie auf einen Benutzernamen klicken, versucht die Karte für einen Moment zu erscheinen, kann es aber nicht.
    1. Wenn Sie die Profilseite eines Benutzers besuchen (z. B. durch Öffnen in einem neuen Tab), wird die Fehlermeldung „Oops, diese Seite existiert nicht" angezeigt.
    2. Wenn ein Benutzer versucht, seine Einstellungen, Nachrichten usw. anzuzeigen, wird ihm ebenfalls eine „Oops"-Fehlerseite angezeigt.
    3. Wir können andere Einstellungen des Benutzers über die Admin-Oberfläche einsehen, können jedoch keine Änderungen an Einstellungen vornehmen, z. B. an der Schnittstelle oder dem Benutzer-Avatar.
  4. Administratoren können keine Themen oder die Hauptseite anzeigen.
    1. Die Site kann normal angezeigt werden, wenn man nicht angemeldet ist.
    2. Andere Benutzer können sich anmelden und mit dem Forum interagieren (Themen erstellen, Antworten schreiben usw.).
    3. Wenn wir uns als Administrator anmelden, werden wir mit einer Fehlermeldung begrüßt:

      Oops

      Die Software, die dieses Diskussionsforum betreibt, ist auf ein unerwartetes Problem gestoßen. Wir entschuldigen uns für die Unannehmlichkeiten.

      Detaillierte Informationen über den Fehler wurden protokolliert und eine automatische Benachrichtigung generiert. Wir werden uns das ansehen.

      Es sind keine weiteren Schritte erforderlich. Falls der Fehler jedoch weiterhin besteht, können Sie weitere Details angeben, einschließlich der Schritte zur Reproduktion des Fehlers, indem Sie ein Diskussionsthema in der Feedback-Kategorie der Site posten.

Jede Hilfe wird geschätzt. Wenn Sie eine Idee haben, wie man diese Probleme beheben kann, oder eine Möglichkeit, eine neue Instanz mit einem funktionierenden Backup zu erstellen, lassen Sie es mich bitte wissen.

Siehe dazu ein ähnliches (wenn auch anderes) Problem: Duplicate data explorer key blocking rebuild

Prüfen Sie auf damit verbundene Integritätsprobleme in Ihrer aktuellen Datenbank, beheben Sie diese und erstellen Sie dann ein Backup.

2 „Gefällt mir“

@merefield, ich habe kein umfassendes Wissen, daher habe ich den Data Explorer konsultiert. Dort gibt es eine Spalte incoming_domain_id vom Typ integer in der Tabelle incoming_referers, die als Fremdschlüssel auf incoming_domains verweist. Soll ich mich darum kümmern? Wenn ja, wie prüfe ich das?

Das sieht so unübersichtlich aus, dass ich, wenn du nicht sicher bist und die Daten kritisch sind, einen erfahrenen SA hinzuziehen würde, der dir beim Wiederherstellen alles hilft Marketplace

1 „Gefällt mir“

Hast du die Probleme herausgefunden?