Test de restauration - ne fonctionne pas

Salut, c’est votre dénicheur de bugs préféré, l’utilisateur qui embête le support.

Je testais la restauration cet après-midi et deux fois sur deux, j’ai obtenu ceci :

ERREUR : impossible d'étendre le fichier « base/16384/3294755 » : écrit seulement 4096 sur 8192 octets au bloc 43985
INDICE : Vérifiez l'espace disque libre.
EXCEPTION : psql a échoué : INDICE : Vérifiez l'espace disque libre.
/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>'
Tentative de rollback...
Annulation...
Nettoyage...
Suppression des fonctions du schéma discourse_functions...
Suppression du répertoire tmp '/var/www/discourse/tmp/restores/default/2023-08-19-145440'...
Réactivation de sidekiq...
Marquage de la restauration comme terminée...
Notification à 'system' de la fin de la restauration...
Terminé !
[ÉCHEC]
Restauration terminée.

Mention spéciale à

Terminé !
[ÉCHEC]
Restauration terminée.

Qui m’a fait un peu rire :roll_eyes:
Je dirais que c’est vraiment très mauvais, sur une échelle de “pas si mal” à “incroyablement mauvais”.

J’ai restauré sur un environnement de staging (une VM séparée que nous utilisons pour les tests et les expérimentations) après avoir fait un nettoyage :

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

La restauration que j’ai essayée est la dernière créée par la restauration automatique et sauvegardée sur S3.

Puis téléchargée via le lien fourni par e-mail et restaurée en suivant ce guide :

La sauvegarde faisait 10 Go. Sur la VM, il restait environ 110 Go libres lorsque j’ai commencé la restauration.

Edit : Version de Discourse 3.2.0.beta1-dev (fbf7b106cc)

Vous manquez d’espace disque. Assurez-vous d’avoir au moins 3 fois la taille de votre sauvegarde disponible sur ce serveur.

Non. C’est un « indice » dans le sens « c’est un problème courant ».

Comme indiqué dans le message juste au-dessus de votre réponse :

La sauvegarde faisait 10 Go. Il restait environ 110 Go de libre sur la VM lorsque j’ai commencé la restauration.

(modifié avec l’image en Go pour faciliter la lecture)

En enquêtant davantage, il semble que quelque chose ne va pas dans les données sauvegardées, soit le fichier est corrompu d’une manière ou d’une autre, soit la cuisson a gâché quelque chose.

J’essaierai de télécharger une autre sauvegarde pour voir si le problème est le même sur les fichiers de sauvegarde afin d’éliminer la possibilité d’un problème lors du téléchargement du fichier.

Chose plus étrange, en chargeant ce sujet et ce message, il n’y a littéralement aucun problème pour discourse. Il se charge et se rend sans problème.

J’ai intervenu manuellement et modifié ce post. Je lance une sauvegarde manuelle maintenant pour tester à nouveau.