バックアップの復元を試みているのですが、エラーが発生します。どうやら S3 バックアップに関連しているようです。
重要な点として、これは S3 互換サービス(Scaleway)を使用しています。ただし、このエラーが互換サービス固有のものかどうかは不明です。設定は非常にスムーズに進み、現在も正常に動作しています。もし Scaleway 固有の問題であれば、AWS S3 のみが公式にサポートされていることを理解しているため、おそらく同社のサービスを利用するのはやめるでしょう。
設定にはこのガイドを使用しました:Configure an S3 compatible object storage provider for uploads app.yml ファイル内にあります。
after_assets_precompile:
- exec:
cd: $home
cmd:
- sudo -E -u discourse bundle exec rake s3:upload_assets
Scaleway でも app.yml ファイルに同じ設定を使用しました(管理者設定で設定する必要はないように思えたため設定しませんでした):scaleway 設定
現在のサーバーの管理者エリアとコマンドラインの両方から試み、また新しいサーバーを設定(app.yml をコピー)してコマンドライン経由で復元を試みました。いずれの場合も同じエラーが発生しました。
[STARTED]
'system' が復元を開始しました!
復元を「実行中」としてマーク中...
/var/www/discourse/tmp/restores/default/2020-07-16-131434 の存在を確認中...
アーカイブを tmp ディレクトリにダウンロード中...
#<Thread:0x000055c73a831df8@/var/www/discourse/vendor/bundle/ruby/2.6.0/gems/aws-sdk-s3-1.66.0/lib/aws-sdk-s3/file_downloader.rb:116 run> が例外で終了しました(report_on_exception は true):
Traceback (most recent call last):
1: from /var/www/discourse/vendor/bundle/ruby/2.6.0/gems/aws-sdk-s3-1.66.0/lib/aws-sdk-s3/file_downloader.rb:120:in `block (3 levels) in thread_batches'
/var/www/discourse/vendor/bundle/ruby/2.6.0/gems/aws-sdk-s3-1.66.0/lib/aws-sdk-s3/file_downloader.rb:128:in `write': undefined method `split' for nil:NilClass (NoMethodError)
例外:undefined method `split' for nil:NilClass
/var/www/discourse/vendor/bundle/ruby/2.6.0/gems/aws-sdk-s3-1.66.0/lib/aws-sdk-s3/file_downloader.rb:128:in `write'
/var/www/discourse/vendor/bundle/ruby/2.6.0/gems/aws-sdk-s3-1.66.0/lib/aws-sdk-s3/file_downloader.rb:120:in `block (3 levels) in thread_batches'
ロールバックを試みています...
ロールバックの必要はありませんでした
後片付け中...
tmp '/var/www/discourse/tmp/restores/default/2020-07-16-131434' ディレクトリを削除中...
sidekiq の一時停止を解除中...
復元を「完了」としてマーク中...
復元の終了を 'system' に通知中...
#<Thread:0x000055c73a831510@/var/www/discourse/vendor/bundle/ruby/2.6.0/gems/aws-sdk-s3-1.66.0/lib/aws-sdk-s3/file_downloader.rb:116 run> が例外で終了しました(report_on_exception は true):
Traceback (most recent call last):
1: from /var/www/discourse/vendor/bundle/ruby/2.6.0/gems/aws-sdk-s3-1.66.0/lib/aws-sdk-s3/file_downloader.rb:120:in `block (3 levels) in thread_batches'
/var/www/discourse/vendor/bundle/ruby/2.6.0/gems/aws-sdk-s3-1.66.0/lib/aws-sdk-s3/file_downloader.rb:128:in `write': undefined method `split' for nil:NilClass (NoMethodError)
#<Thread:0x000055c73a8316c8@/var/www/discourse/vendor/bundle/ruby/2.6.0/gems/aws-sdk-s3-1.66.0/lib/aws-sdk-s3/file_downloader.rb:116 run> が例外で終了しました(report_on_exception は true):
Traceback (most recent call last):
1: from /var/www/discourse/vendor/bundle/ruby/2.6.0/gems/aws-sdk-s3-1.66.0/lib/aws-sdk-s3/file_downloader.rb:120:in `block (3 levels) in thread_batches'
/var/www/discourse/vendor/bundle/ruby/2.6.0/gems/aws-sdk-s3-1.66.0/lib/aws-sdk-s3/file_downloader.rb:128:in `write': undefined method `split' for nil:NilClass (NoMethodError)
#<Thread:0x000055c73a8319e8@/var/www/discourse/vendor/bundle/ruby/2.6.0/gems/aws-sdk-s3-1.66.0/lib/aws-sdk-s3/file_downloader.rb:116 run> が例外で終了しました(report_on_exception は true):
Traceback (most recent call last):
1: from /var/www/discourse/vendor/bundle/ruby/2.6.0/gems/aws-sdk-s3-1.66.0/lib/aws-sdk-s3/file_downloader.rb:120:in `block (3 levels) in thread_batches'
/var/www/discourse/vendor/bundle/ruby/2.6.0/gems/aws-sdk-s3-1.66.0/lib/aws-sdk-s3/file_downloader.rb:128:in `write': undefined method `split' for nil:NilClass (NoMethodError)
完了!
[FAILED]
復元が完了しました。
もしかすると、このエラーはバックアップのダウンロード時のものだけかもしれません?![]()