Molti problemi: lo staff loggato non può raggiungere gli argomenti, l'aggiornamento manuale fallisce, le schede utente non si aprono, il login predefinito non funziona

Ciao. Ho già segnalato un problema simile in passato, che non è stato completamente risolto. Attualmente stiamo riscontrando alcuni problemi critici con i nostri forum.

  1. Gli aggiornamenti da riga di comando falliscono.
    1. Ho provato a rimuovere tutte le estensioni, ma non ha funzionato.

    2. Ho creato una nuova istanza, copiato il backup di quella precedente e ripristinato tramite riga di comando. Il processo si è concluso con alcuni errori:

      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. Ho quindi eseguito ./launcher rebuild app per verificare se funzionasse, ma ho ottenuto messaggi di errore simili:

      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.
      

      e

      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. Ho anche eseguito discourse-doctor, ma senza successo.

  2. Non è possibile accedere normalmente con nome utente e password; viene restituito un errore.
    1. Funzionano solo altri metodi di accesso (GitHub, Google, ecc.).
  3. Le schede utente non vengono visualizzate. Se fai clic sul nome di un utente, la scheda tenta di apparire per un istante ma non ci riesce.
    1. Quando visiti la pagina del profilo dell’utente (ad esempio aprendola in una nuova scheda), viene visualizzato un errore “Oops, questa pagina non esiste”.
    2. Quando un utente tenta di visualizzare le proprie preferenze, messaggi, ecc., viene anch’egli reindirizzato a una pagina di errore “Oops”.
    3. Possiamo vedere le altre impostazioni dell’utente tramite l’interfaccia di amministrazione, ma non possiamo apportare modifiche alle impostazioni, ad esempio nell’interfaccia o per l’avatar dell’utente.
  4. Gli amministratori non possono visualizzare i topic o la pagina principale.
    1. Il sito può essere visualizzato normalmente quando si è disconnessi.
    2. Gli altri utenti possono accedere e interagire con il forum (creare topic, risposte, ecc.).
    3. Se accediamo come amministratori, riceviamo un messaggio di errore:

      Oops

      Il software che alimenta questo forum ha incontrato un problema imprevisto. Ci scusiamo per l’inconveniente.

      Sono state registrate informazioni dettagliate sull’errore e generata una notifica automatica. Ci occuperemo di esaminarle.

      Non è necessaria alcuna ulteriore azione. Tuttavia, se il problema persiste, puoi fornire ulteriori dettagli, inclusi i passaggi per riprodurre l’errore, pubblicando un topic nella categoria di feedback del sito.

Qualsiasi aiuto è apprezzato. Se hai qualche idea su come risolvere questi problemi o su come creare una nuova istanza con un backup funzionante, fammelo sapere.

Consulta questo thread per un problema simile (sebbene diverso): Duplicate data explorer key blocking rebuild

Verifica eventuali problemi di integrità dei dati associati nel tuo database attuale, risolvili, quindi crea un backup.

@merefield, non ho una conoscenza completa, quindi ho verificato tramite Data Explorer e nella tabella incoming_referers c’è una colonna incoming_domain_id di tipo integer, che è una chiave esterna per incoming_domains. Dovrei occuparmene? Se sì, come posso verificare?

Sembra così disordinato che, se non ti senti sicuro e i dati sono critici, ti consiglio di rivolgerti a un SA esperto per aiutarti a recuperare tutto Marketplace

Hai risolto i problemi?