Test Ripristino - non funziona

Ciao, sono il tuo bug finder preferito, l’utente che disturba il supporto.

Stavo testando il ripristino questo pomeriggio e due volte su due, sono finito con questo:

ERROR:  could not extend file "base/16384/3294755": wrote only 4096 of 8192 bytes at block 43985
HINT:  Check free disk space.
EXCEPTION: psql failed: HINT:  Check free disk space.
/var/www/discourse/lib/backup_restore/database_restorer.rb:92: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:149:in `restore'
/var/www/discourse/vendor/bundle/ruby/3.2.0/gems/thor-1.2.2/lib/thor/command.rb:27:in `run'
/var/www/discourse/vendor/bundle/ruby/3.2.0/gems/thor-1.2.2/lib/thor/invocation.rb:127:in `invoke_command'
/var/www/discourse/vendor/bundle/ruby/3.2.0/gems/thor-1.2.2/lib/thor.rb:392:in `dispatch'
/var/www/discourse/vendor/bundle/ruby/3.2.0/gems/thor-1.2.2/lib/thor/base.rb:485:in `start'
script/discourse:290:in `<top (required)>'
/usr/local/lib/ruby/gems/3.2.0/gems/bundler-2.4.13/lib/bundler/cli/exec.rb:58:in `load'
/usr/local/lib/ruby/gems/3.2.0/gems/bundler-2.4.13/lib/bundler/cli/exec.rb:58:in `kernel_load'
/usr/local/lib/ruby/gems/3.2.0/gems/bundler-2.4.13/lib/bundler/cli/exec.rb:23:in `run'
/usr/local/lib/ruby/gems/3.2.0/gems/bundler-2.4.13/lib/bundler/cli.rb:492:in `exec'
/usr/local/lib/ruby/gems/3.2.0/gems/bundler-2.4.13/lib/bundler/vendor/thor/lib/thor/command.rb:27:in `run'
/usr/local/lib/ruby/gems/3.2.0/gems/bundler-2.4.13/lib/bundler/vendor/thor/lib/thor/invocation.rb:127:in `invoke_command'
/usr/local/lib/ruby/gems/3.2.0/gems/bundler-2.4.13/lib/bundler/vendor/thor/lib/thor.rb:392:in `dispatch'
/usr/local/lib/ruby/gems/3.2.0/gems/bundler-2.4.13/lib/bundler/cli.rb:34:in `dispatch'
/usr/local/lib/ruby/gems/3.2.0/gems/bundler-2.4.13/lib/bundler/vendor/thor/lib/thor/base.rb:485:in `start'
/usr/local/lib/ruby/gems/3.2.0/gems/bundler-2.4.13/lib/bundler/cli.rb:28:in `start'
/usr/local/lib/ruby/gems/3.2.0/gems/bundler-2.4.13/exe/bundle:45:in `block in <top (required)>'
/usr/local/lib/ruby/gems/3.2.0/gems/bundler-2.4.13/lib/bundler/friendly_errors.rb:117:in `with_friendly_errors'
/usr/local/lib/ruby/gems/3.2.0/gems/bundler-2.4.13/exe/bundle:33:in `<top (required)>'
/usr/local/bin/bundle:25:in `load'
/usr/local/bin/bundle:25: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/2023-08-19-145440' directory...
Unpausing sidekiq...
Marking restore as finished...
Notifying 'system' of the end of the restore...
Finished!
[FAILED]
Restore done.

Menzione speciale per il

Finished!
[FAILED]
Restore done.

Che mi ha fatto un po’ ridere :roll_eyes:
Direi che questo è davvero brutto, su una scala da “non così male” a “incredibilmente brutto”.

Ho ripristinato in un ambiente di staging (una VM separata che usiamo per testare e fare esperimenti) dopo aver eseguito un ripristino pulito:

  • launcher stop app
  • rm -rf /var/discourse/shared
  • launcher rebuild app

Il ripristino che ho provato è l’ultimo creato dal ripristino automatico e salvato in un S3.

Quindi scaricato tramite il link fornito via mail e ripristinato usando questa guida:

Il backup era di 10 GB. Sulla VM c’erano circa 110 GB liberi quando ho iniziato il ripristino.

Edit: Versione Discourse 3.2.0.beta1-dev (fbf7b106cc)

Hai esaurito lo spazio su disco. Assicurati di avere almeno 3 volte la dimensione del tuo backup disponibile su questo server.

No. Questo è un “suggerimento” nel senso che “è un problema comune”.

Come affermato nel post subito sopra la tua risposta:

Il backup era di 10 GB. Sulla VM c’erano circa 110 GB liberi quando ho iniziato il ripristino.

(modificato con immagine in GB per facilità di lettura)

Indagando ulteriormente, sembra che ci sia qualcosa di sbagliato nei dati di backup, o il file è corrotto in qualche modo o la cottura ha incasinato qualcosa.

Proverò a scaricare un altro backup per vedere se il problema è lo stesso tra i file di backup per eliminare la possibilità di un problema nel download del file.

Cosa ancora più strana, caricando quell’argomento e quel messaggio non ci sono letteralmente problemi per discourse. Si carica e viene renderizzato senza problemi.

Sono intervenuto manualmente e ho modificato quel post. Sto avviando un backup manuale ora per testare di nuovo.