Hangs discourse and discourse restore FAILED

Looks like you have two users with the same email in the backup? Delete one of those users or change one email and create a new backup?

1 Like

You’ve got a corrupt index. I had a similar issue (with a differnent table and index, I think), and described what I did to fix it at Can't restore due to corrupt indexes (with some clues on how to deal with corrupt indexes). Your solution will be different, but what I describe there might be what you need to figure out how to solve your problem.

3 Likes

Hey @Dev_Work

That is good news.

You have a number of options. Off the top of my head, here are only two:

Analyze and reindex the user table:

VACUUM ANALYZE users;

and then you can:

REINDEX VERBOSE TABLE users

This will analyze and reindex on a “per table” basis (“users” in the example above).

You can also do the same thing for the entire database

VACUUM;
REINDEX DATABASE discourse;

Either way, after you REINDEX your “old DB”, you can then create a new backup and see how that goes when you restore to your “new DB”.

Hope this helps.

See Also:

https://medium.com/@andreigridnev/db-maintenance-commands-in-postgresql-analyze-reindex-vacuum-4a14d75bee6c

4 Likes

Why is this error happening?

[STARTED]
'system' has started the restore!
Marking restore as running...
Making sure /var/www/discourse/tmp/restores/default/2020-08-26-075829 exists...
Copying archive to tmp directory...
Unzipping archive, this may take a while...
Extracting dump file...
EXCEPTION: No space left on device @ io_write - /shared/tmp/restores/default/2020-08-26-075829/dump.sql
/var/www/discourse/lib/compression/gzip.rb:50:in `write'
/var/www/discourse/lib/compression/gzip.rb:50:in `<<'
/var/www/discourse/lib/compression/gzip.rb:50:in `block in extract_file'
/var/www/discourse/lib/compression/gzip.rb:45:in `open'
/var/www/discourse/lib/compression/gzip.rb:45:in `extract_file'
/var/www/discourse/lib/compression/strategy.rb:26:in `block (2 levels) in decompress'
/var/www/discourse/lib/compression/strategy.rb:18:in `each'
/var/www/discourse/lib/compression/strategy.rb:18:in `block in decompress'
/var/www/discourse/lib/compression/gzip.rb:30:in `get_compressed_file_stream'
/var/www/discourse/lib/compression/strategy.rb:15:in `decompress'
/var/www/discourse/lib/backup_restore/backup_file_handler.rb:86:in `extract_db_dump'
/var/www/discourse/lib/backup_restore/backup_file_handler.rb:23:in `decompress'
/var/www/discourse/lib/backup_restore/restorer.rb:42:in `run'
script/discourse:143:in `restore'
/var/www/discourse/vendor/bundle/ruby/2.6.0/gems/thor-1.0.1/lib/thor/command.rb:27:in `run'
/var/www/discourse/vendor/bundle/ruby/2.6.0/gems/thor-1.0.1/lib/thor/invocation.rb:127:in `invoke_command'
/var/www/discourse/vendor/bundle/ruby/2.6.0/gems/thor-1.0.1/lib/thor.rb:392:in `dispatch'
/var/www/discourse/vendor/bundle/ruby/2.6.0/gems/thor-1.0.1/lib/thor/base.rb:485:in `start'
script/discourse:284:in `<top (required)>'
/usr/local/lib/ruby/gems/2.6.0/gems/bundler-2.1.4/lib/bundler/cli/exec.rb:63:in `load'
/usr/local/lib/ruby/gems/2.6.0/gems/bundler-2.1.4/lib/bundler/cli/exec.rb:63:in `kernel_load'
/usr/local/lib/ruby/gems/2.6.0/gems/bundler-2.1.4/lib/bundler/cli/exec.rb:28:in `run'
/usr/local/lib/ruby/gems/2.6.0/gems/bundler-2.1.4/lib/bundler/cli.rb:476:in `exec'
/usr/local/lib/ruby/gems/2.6.0/gems/bundler-2.1.4/lib/bundler/vendor/thor/lib/thor/command.rb:27:in `run'
/usr/local/lib/ruby/gems/2.6.0/gems/bundler-2.1.4/lib/bundler/vendor/thor/lib/thor/invocation.rb:127:in `invoke_command'
/usr/local/lib/ruby/gems/2.6.0/gems/bundler-2.1.4/lib/bundler/vendor/thor/lib/thor.rb:399:in `dispatch'
/usr/local/lib/ruby/gems/2.6.0/gems/bundler-2.1.4/lib/bundler/cli.rb:30:in `dispatch'
/usr/local/lib/ruby/gems/2.6.0/gems/bundler-2.1.4/lib/bundler/vendor/thor/lib/thor/base.rb:476:in `start'
/usr/local/lib/ruby/gems/2.6.0/gems/bundler-2.1.4/lib/bundler/cli.rb:24:in `start'
/usr/local/lib/ruby/gems/2.6.0/gems/bundler-2.1.4/exe/bundle:46:in `block in <top (required)>'
/usr/local/lib/ruby/gems/2.6.0/gems/bundler-2.1.4/lib/bundler/friendly_errors.rb:123:in `with_friendly_errors'
/usr/local/lib/ruby/gems/2.6.0/gems/bundler-2.1.4/exe/bundle:34:in `<top (required)>'
/usr/local/bin/bundle:23:in `load'
/usr/local/bin/bundle:23:in `<main>'
Trying to rollback...
There was no need to rollback
Cleaning stuff up...
Removing tmp '/var/www/discourse/tmp/restores/default/2020-08-26-075829' directory...
Unpausing sidekiq...
Marking restore as finished...
Notifying 'system' of the end of the restore...
Finished!
[FAILED]
Restore done.

Candidly, maybe

:question:

5 Likes