MAXMINDの日次制限を使い切ると、リビルドが常に失敗します。

日次制限を使い切ると、常に再構築が失敗します。この問題を修正することをお勧めします。この問題の原因を特定するまでに2日間を無駄にし、サーバーを2回セットアップしました。私が賢くないだけかもしれませんが :slight_smile:

日次制限に達したら、このプロセスをスキップして再作成を続行すべきだと思います。

「いいね!」 4

はい。MAXMINDのエラーで再構築が失敗するのは大きな問題です。彼らのホスティングでは、インスタンス間でDBを共有しているのでしょう。

日次制限については知りませんでしたが、それなら私が時折見ていた偽のエラーが説明できます。唯一の解決策は、再構築を行うためにmaxmindを無効にすることです。

修正方法を理解しようとコードを数回見ましたが、まだできていません。1〜3行の修正のはずです。

最終的に問題が彼らのレート制限であることが特定されたので、これを:bug:に変更します。

「いいね!」 5

MAXMIND を無効にして再コンパイルすると、機能します。しかし、他の人も同様の問題が発生する可能性があると考え、このことを報告したいと思いました。ご関心をお寄せいただきありがとうございます。幸運を祈ります。

「いいね!」 2

この問題に対する、些細ではあるが効果的な修正方法を以下に示します。

問題の発生原因を正確に把握していないため、コードのテストは容易ではありませんが、機能するはずです。

「いいね!」 1

今夜少し作業をして、エラーに関する情報があればトピックを更新します。お時間をいただきありがとうございました。役立つと思います。

この件について、何か調査は行われましたか?なぜなら、私はちょうどそれを実行しましたが、MAXMINDが有効な状態ではまだコンパイルできず、コンパイルするためには無効にする必要がありました。zlipのエラーも見られます。

注意:
app.ymlにライセンスキーを誤って入力したと思います。これを修正して再度コンパイルしました。しかし、たとえそれが無効であったり、制限に達していたりしても、エラーを発生させることなくコンパイルを続けるべきです。

「いいね!」 1

そのエラーについてですが、app.ymlDISCOURSE_MAXMIND_ACCOUNT_ID を追加しましたか?

「いいね!」 2

ログ全体を共有していただけますか?

「いいね!」 1

このエラーが再度発生した場合は、エラーログを共有しますが、提示されたリンクと同じです。

一方、キーが間違っていると、コンパイル時にエラーが発生します。したがって、この機能は続行し、間違ったキーまたはIDがあった場合に警告を出すのが良いでしょう。

Well, it seems not to work with what I’m fairly certain is a valid maxmind key. I guess since I have several sites on the same IP all requesting the database I’m hitting rate limits?

...
Checking 'Guest Gate Theme Component' for 'default'... up to date
Checking '* Official: discourse-search-banner' for 'default'... up to date
Checking '* Official: Header submenus' for 'default'... up to date
Checking '* Auto linkify words (official)' for 'default'... up to date
Checking '* Official: New PM Dropdown Button (KED)' for 'default'... up to date
Checking 'Sidebar Theme Toggle' for 'default'... up to date
Downloading MaxMindDB...



FAILED
--------------------

                                                                                                                                     
Plugin name is 'DiscourseAddToSummary', but plugin directory is named 'discourse-add-to-summary'                                                     
Purging temp files                                                                                                                                   
Bundling assets                                                                                                                                      
I, [2024-07-03T15:34:03.558862 #1728]  INFO -- : Writing /var/www/discourse/public/assets/break_string-cc617154cd957804f2f6a1f3bc68258c9cdca3d4b9a322
bf777d145fed04790e.js                                                                                                                                
I, [2024-07-03T15:34:03.565737 #1728]  INFO -- : Writing /var/www/discourse/public/assets/service-worker-1c2f90c0e9ecfcf748d58ed6c37a510b3cd246299fcf
a5917a060293f1affb92.js                                                                                                                              
I, [2024-07-03T15:34:03.568027 #1728]  INFO -- : Writing /var/www/discourse/public/assets/locales/i18n-3b40e842fd72b9bcc74ea83e094c823cd9ca535e4ecc5e
78722e6f99d3656137.js                                                                                                                                
I, [2024-07-03T15:34:03.569522 #1728]  INFO -- : Writing /var/www/discourse/public/assets/scripts/discourse-test-listen-boot-9b14a0fc65c689577e6a428d
cfd680205516fe211700a71c7adb5cbcf4df2cc5.js                                                                                                          
I, [2024-07-03T15:34:04.079476 #1728]  INFO -- : Writing /var/www/discourse/public/assets/locales/ar-583c921ae692b1e7c988997efcba99e6b41b62572682166e
2c62bae0caeaab2b.js                                                                                                                                  
I, [2024-07-03T15:34:04.373049 #1728]  INFO -- : Writing /var/www/discourse/public/assets/locales/be-ee1a0dd42713e1ca29dbacea5dcde76c51a441cb634c5d61
7ba4b20bb7ef5b05.js                                                                                                                                  
rake aborted!                                                                                                                                        
Zlib::BufError: buffer error (Zlib::BufError)                                                                                                        
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/sprockets-3.7.3/lib/sprockets/cache/file_store.rb:100:in `<<'                                       
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/sprockets-3.7.3/lib/sprockets/cache/file_store.rb:100:in `set'                                      
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/sprockets-3.7.3/lib/sprockets/cache.rb:212:in `set'                                                 
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/sprockets-3.7.3/lib/sprockets/cache.rb:136:in `set'                                                 
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/sprockets-3.7.3/lib/sprockets/loader.rb:243:in `store_asset'                                        
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/sprockets-3.7.3/lib/sprockets/loader.rb:185:in `load_from_unloaded'                                 
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/sprockets-3.7.3/lib/sprockets/loader.rb:60:in `block in load'                                       
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/sprockets-3.7.3/lib/sprockets/loader.rb:317:in `fetch_asset_from_dependency_cache'                  
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/sprockets-3.7.3/lib/sprockets/loader.rb:44:in `load'                                                
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/sprockets-3.7.3/lib/sprockets/cached_environment.rb:20:in `block in initialize'                     
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/sprockets-3.7.3/lib/sprockets/cached_environment.rb:47:in `load'                                    
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/sprockets-3.7.3/lib/sprockets/base.rb:66:in `find_asset'                                            
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/sprockets-3.7.3/lib/sprockets/base.rb:73:in `find_all_linked_assets'                                
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/sprockets-3.7.3/lib/sprockets/manifest.rb:134:in `block in find'                                    
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/sprockets-3.7.3/lib/sprockets/manifest.rb:133:in `each'                                             
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/sprockets-3.7.3/lib/sprockets/manifest.rb:133:in `find'                                             
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/sprockets-3.7.3/lib/sprockets/manifest.rb:186:in `compile'                                          
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/sprockets-rails-3.5.1/lib/sprockets/rails/task.rb:67:in `block (3 levels) in define'                
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/sprockets-3.7.3/lib/rake/sprocketstask.rb:147:in `with_logger'                                      
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/sprockets-rails-3.5.1/lib/sprockets/rails/task.rb:66:in `block (2 levels) in define'                
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/rake-13.2.1/exe/rake:27:in `<top (required)>'                                                       
/usr/local/bin/bundle:25:in `load'                                                                                                                   
/usr/local/bin/bundle:25:in `<main>'                                                                                                                 
Tasks: TOP => assets:precompile                                                                                                                      
(See full trace by running task with --trace)                                                                                                        
I, [2024-07-03T15:34:04.978774 #1]  INFO -- : Checking 'Add(back) Category Colmn (TH)' for 'default'... up to date                                   
Checking '* Official: discourse-placeholder-theme-component (JP)' for 'default'... up to date                                                        
Checking '* Discourse Easy Footer (Official)' for 'default'... up to date                                                                            
Checking 'discourse-user-field-prompt' for 'default'... up to date                                                                                   
Checking '* Rotate Global Banner(JP)' for 'default'... up to date                                     
Checking 'Guest Gate Theme Component' for 'default'... up to date                                                                                    
Checking '* Official: discourse-search-banner' for 'default'... up to date                                                                           
Checking '* Official: Header submenus' for 'default'... up to date                                                                                   
Checking '* Auto linkify words (official)' for 'default'... up to date                                                                               
Checking '* Official: New PM Dropdown Button (KED)' for 'default'... up to date                                                                      
Checking 'Sidebar Theme Toggle' for 'default'... up to date                                                                                          
Downloading MaxMindDB...                                                                                                                             
                                                                                                                                                     
                                                                                                                                                     
                                                                                                                                                     
FAILED                                                                                                                                               
--------------------
Pups::ExecError: cd /var/www/discourse && su discourse -c 'SKIP_EMBER_CLI_COMPILE=1 bundle exec rake themes:update assets:precompile' failed with ret
urn #<Process::Status: pid 1726 exit 1>
Location of failure: /usr/local/lib/ruby/gems/3.3.0/gems/pups-1.2.1/lib/pups/exec_command.rb:132:in `spawn'
exec failed with the params {"cd"=>"$home", "tag"=>"precompile", "hook"=>"assets_precompile", "cmd"=>["su discourse -c 'SKIP_EMBER_CLI_COMPILE=1 bund
le exec rake themes:update assets:precompile'"]}
bootstrap failed with exit code 1
** FAILED TO BOOTSTRAP ** please scroll up and look for earlier error messages, there may be more than one.
./discourse-doctor may help diagnose the problem.

Subsequent rebuild with the Maxmind key and id commented out succeeds.

Why is this so hard?

So here’s the limit from

I’m not quite clear how I’d be hitting these limits, but it’s the only explanation other than spurious downtime on their servers?

「いいね!」 1

私の場合、その制限は1日にサーバーを2回以上再構築するとトリガーされます。
また、以下のようなメールも届きます(強調は私によるものです)。

どうやらIPごとの制限もあるようです。

「いいね!」 4

大変助かります。そのメールは見たことがありません。

複数のサーバーを単一のIPアドレスで運用した場合に、それが原因で発生する問題を回避できるかもしれませんが、1日に2回再構築できないというのは、かなりの難題のようです。キャッシュプロキシが唯一考えられる方法でしょうか。

この問題を解決するために、彼らにいくらかの金額を支払っても構いませんが、その方法が見当たりません。

「いいね!」 1

しかし、それはレート制限とは別の問題です。なぜなら、イメージをビルドした後、/var/www/discourse/config/discourse.conf の値を設定してレークタスクを実行したところ、データベースは問題なくダウンロードされたからです。

データベースは永続ストレージに配置できますか?

データベースはイメージ起動後にのみダウンロードできますか?

「いいね!」 1

@JammyDodger 最新リリース以降、Maxmind でビルドできるようになりましたか? @RGJ – 何か問題はありましたか?

maxmind を試したサイトはどれも機能していないと思います。昨日試したサイトでは、コンテナ内の設定を編集したところ、ブートストラップが失敗したのと同じ設定で、rake タスクでデータベースをダウンロードできるようになりました。

Maxmind による障害に関するトピックは他にもいくつかありました。

先日、MaxMindのアカウントIDを使用してもリビルドに失敗しましたが、その直後に行った2回目のリビルドは正常に完了しました。

「いいね!」 1

問題は発生していません。(独自のデプロイシステムを使用しているためです。)

試してみたところ、同じIPからファイルを10回取得できました(その後、試すのをやめました)。

そのため、リビルドをエラーで停止させないようにした私の「修正」は失敗しました。

そのため、デバッグは非常に困難になります。

私も新しいサーバーにフォーラムをいくつか移行した後、同じメール(と問題)を受け取りました。そのため、OP(元の投稿者)に同意します。再構築するオプションを表示するか、再構築が始まる前にDBを取得して「再試行」または「MaxMindなしで再構築」のオプションを与えることを試してみてはどうでしょうか。

「いいね!」 2

ちなみに、最近の変更でAPIキーとユーザー名が必要になったため、私たちのアップグレード/再構築も失敗し、数日間のダウンタイムが発生しました。

他の人と同様に、app.ymlで無効化/コメントアウトして>>再構築することで修正できました。この修正が完了するまで、まだ再有効化していません。

リビルドが失敗した際のエラーメッセージをお持ちですか?

「いいね!」 1