La reconstruction échoue toujours lorsque la limite quotidienne de MAXMIND est atteinte

La reconstruction échoue toujours lorsque la limite quotidienne est épuisée. Je pense qu’il serait bon de corriger cela car j’ai perdu 2 jours et configuré un serveur deux fois jusqu’à ce que je découvre la cause de ce problème. Peut-être que je ne suis pas très intelligent :slight_smile:

Je pense que vous devriez ignorer ce processus et continuer à recréer lorsque la limite quotidienne est atteinte.

4 « J'aime »

Oui. C’est un problème majeur qu’une erreur avec MAXMIND fasse échouer une reconstruction. Je suppose que sur leur hébergement, ils doivent partager la base de données entre les instances.

Je n’étais pas au courant d’une limite quotidienne, mais cela explique certainement les erreurs fantaisistes que j’ai vues. La seule solution est de désactiver maxmind pour effectuer une reconstruction.

J’ai examiné le code à quelques reprises pour essayer de trouver une solution, mais je ne l’ai pas encore fait. Ce doit être une correction de 1 à 3 lignes.

Puisque vous avez finalement identifié que le problème est leur limitation de débit, je change cela en un :bug:

5 « J'aime »

Je désactive MAXMIND et recompile, et cela fonctionne. Cependant, je voulais signaler cela car je pensais que cela pourrait arriver à d’autres. Merci de votre intérêt, bonne chance.

2 « J'aime »

Voici une correction triviale, mais probablement efficace, pour ce problème :

Comme je ne sais pas exactement comment provoquer le problème, il n’est pas facile de tester le code, mais il devrait fonctionner.

1 « J'aime »

Je ferai du travail ce soir, et si je vois des informations sur l’erreur, je mettrai à jour le sujet. Merci pour votre temps, je pense que ce sera utile.

Une étude a-t-elle été réalisée sur ce sujet ? car je viens de le faire et il ne compile toujours pas lorsque MAXMIND est activé et j’ai dû le fermer pour compiler. Cela pourrait aider, je vois aussi une erreur zlip.

REMARQUE :
Je pense avoir mal saisi la clé de licence dans app.yml. Je l’ai corrigé et j’ai recompilé. Cependant, même si elle est défectueuse ou si la limite est épuisée, la compilation doit se poursuivre sans aucune erreur.

1 « J'aime »

Pour cette erreur, avez-vous également ajouté DISCOURSE_MAXMIND_ACCOUNT_ID à votre app.yml ?

2 « J'aime »

Pouvez-vous partager tous les journaux ?

1 « J'aime »

Si je rencontre à nouveau cette erreur, je partagerai les journaux d’erreurs, mais c’est la même que dans le lien que vous avez donné.

D’autre part, lorsque la clé est incorrecte, la compilation génère une erreur. Il serait donc judicieux que cette fonctionnalité continue et donne un avertissement en cas de clé ou d’identifiant incorrect.

Eh bien, il semble que cela ne fonctionne pas avec une clé MaxMind que je suis assez certain être valide. Je suppose que, puisque j’ai plusieurs sites sur la même adresse IP qui demandent tous la base de données, je dépasse les limites de taux ?

...
Vérification de 'Guest Gate Theme Component' pour 'default'... à jour
Vérification de '* Official: discourse-search-banner' pour 'default'... à jour
Vérification de '* Official: Header submenus' pour 'default'... à jour
Vérification de '* Auto linkify words (official)' pour 'default'... à jour
Vérification de '* Official: New PM Dropdown Button (KED)' pour 'default'... à jour
Vérification de 'Sidebar Theme Toggle' pour 'default'... à jour
Téléchargement de MaxMindDB...



ÉCHEC
--------------------

                                                                                                                                     
Le nom du plugin est 'DiscourseAddToSummary', mais le répertoire du plugin est nommé 'discourse-add-to-summary'                                                     
Nettoyage des fichiers temporaires                                                                                                                                   
Regroupement des assets                                                                                                                                      
I, [2024-07-03T15:34:03.558862 #1728]  INFO -- : Écriture de /var/www/discourse/public/assets/break_string-cc617154cd957804f2f6a1f3bc68258c9cdca3d4b9a322
bf777d145fed04790e.js                                                                                                                                
I, [2024-07-03T15:34:03.565737 #1728]  INFO -- : Écriture de /var/www/discourse/public/assets/service-worker-1c2f90c0e9ecfcf748d58ed6c37a510b3cd246299fcf
a5917a060293f1affb92.js                                                                                                                              
I, [2024-07-03T15:34:03.568027 #1728]  INFO -- : Écriture de /var/www/discourse/public/assets/locales/i18n-3b40e842fd72b9bcc74ea83e094c823cd9ca535e4ecc5e
78722e6f99d3656137.js                                                                                                                                
I, [2024-07-03T15:34:03.569522 #1728]  INFO -- : Écriture de /var/www/discourse/public/assets/scripts/discourse-test-listen-boot-9b14a0fc65c689577e6a428d
cfd680205516fe211700a71c7adb5cbcf4df2cc5.js                                                                                                          
I, [2024-07-03T15:34:04.079476 #1728]  INFO -- : Écriture de /var/www/discourse/public/assets/locales/ar-583c921ae692b1e7c988997efcba99e6b41b62572682166e
2c62bae0caeaab2b.js                                                                                                                                  
I, [2024-07-03T15:34:04.373049 #1728]  INFO -- : Écriture de /var/www/discourse/public/assets/locales/be-ee1a0dd42713e1ca29dbacea5dcde76c51a441cb634c5d61
7ba4b20bb7ef5b05.js                                                                                                                                  
rake aborted!                                                                                                                                        
Zlib::BufError: erreur de tampon (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                                                                                                                      
(Voir la trace complète en exécutant la tâche avec --trace)                                                                                                        
I, [2024-07-03T15:34:04.978774 #1]  INFO -- : Vérification de 'Add(back) Category Colmn (TH)' pour 'default'... à jour                                   
Vérification de '* Official: discourse-placeholder-theme-component (JP)' pour 'default'... à jour                                                        
Vérification de '* Discourse Easy Footer (Official)' pour 'default'... à jour                                                                            
Vérification de 'discourse-user-field-prompt' pour 'default'... à jour                                                                                   
Vérification de '* Rotate Global Banner(JP)' pour 'default'... à jour                                     
Vérification de 'Guest Gate Theme Component' pour 'default'... à jour                                                                                    
Vérification de '* Official: discourse-search-banner' pour 'default'... à jour                                                                           
Vérification de '* Official: Header submenus' pour 'default'... à jour                                                                                   
Vérification de '* Auto linkify words (official)' pour 'default'... à jour                                                                               
Vérification de '* Official: New PM Dropdown Button (KED)' pour 'default'... à jour                                                                      
Vérification de 'Sidebar Theme Toggle' pour 'default'... à jour                                                                                          
Téléchargement de MaxMindDB...                                                                                                                             
                                                                                                                                                     
                                                                                                                                                     
                                                                                                                                                     
ÉCHEC                                                                                                                                               
--------------------
Pups::ExecError: cd /var/www/discourse && su discourse -c 'SKIP_EMBER_CLI_COMPILE=1 bundle exec rake themes:update assets:precompile' a échoué avec le code de retour #<Process::Status: pid 1726 exit 1>
Emplacement de l'échec : /usr/local/lib/ruby/gems/3.3.0/gems/pups-1.2.1/lib/pups/exec_command.rb:132:in `spawn'
L'exécution a échoué avec les paramètres {"cd"=>"$home", "tag"=>"precompile", "hook"=>"assets_precompile", "cmd"=>["su discourse -c 'SKIP_EMBER_CLI_COMPILE=1 bund
le exec rake themes:update assets:precompile'"]}
Le démarrage a échoué avec le code de sortie 1
** ÉCHEC DU DÉMARRAGE ** veuillez faire défiler vers le haut et rechercher les messages d'erreur antérieurs, il peut y en avoir plus d'un.
./discourse-doctor peut aider à diagnostiquer le problème.

Une reconstruction ultérieure avec la clé MaxMind et l’identifiant commentés réussit.

Pourquoi est-ce si difficile ?

Voici donc la limite indiquée :

Je ne suis pas tout à fait clair sur la façon dont je pourrais atteindre ces limites, mais c’est la seule explication autre qu’une panne intempestive de leurs serveurs ?

1 « J'aime »

Pour moi, cette limite se déclenche chaque fois que je reconstruis un serveur plus d’une fois par jour.
Je reçois également un e-mail qui commence comme ceci (en gras, c’est moi qui ai mis l’accent)

Donc, apparemment, il y a aussi une limite par adresse IP.

4 « J'aime »

C’est d’une grande aide. Je n’ai jamais vu cet e-mail.

Je pourrais peut-être faire quelque chose pour éviter que plusieurs serveurs sur une seule adresse IP ne fassent cela, mais ne pas pouvoir reconstruire deux fois par jour semble être un défi. Je suppose qu’un proxy de mise en cache est la seule chose à laquelle je puisse penser.

Je serais heureux de leur payer une certaine somme d’argent pour que cela ne soit pas un problème, mais je ne vois pas comment faire.

1 « J'aime »

Mais c’est autre chose que les limites de débit car après avoir construit l’image, je suis allé définir les valeurs dans /var/www/discourse/config/discourse.conf et j’ai exécuté la tâche rake et elle a téléchargé la base de données sans problème.

La base de données pourrait-elle vivre dans un stockage persistant ?

La base de données pourrait-elle être téléchargée uniquement après le démarrage de l’image ?

1 « J'aime »

@JammyDodger avez-vous pu construire avec Maxmind depuis la dernière version ? @RGJ – avez-vous eu des problèmes ?

Je ne pense pas que les sites que j’ai essayés avec maxmind aient fonctionné. Et celui que j’ai fait hier a pu télécharger la base de données avec la tâche rake après que je sois entré et que j’aie modifié la configuration à l’intérieur du conteneur avec les mêmes paramètres qui ont provoqué l’échec du bootstrap.

Il y a eu plusieurs autres sujets sur des échecs dus à Maxmind.

J’ai eu un échec de reconstruction l’autre jour, même avec l’ID de compte Maxmind, mais une seconde tentative juste après s’est déroulée sans problème.

1 « J'aime »

Nous n’avons eu aucun problème, (mais nous utilisons notre propre système de déploiement).

Je viens d’essayer et je peux récupérer le fichier 10 fois depuis la même IP (et ensuite j’ai arrêté d’essayer)

Donc, ma « correction » pour empêcher une erreur de tuer la reconstruction a échoué.

Ce sera donc très difficile à déboguer.

J’ai reçu le même e-mail (et le même problème) après avoir déplacé certains forums vers un nouveau serveur - je suis donc d’accord avec l’OP, peut-être afficher une option pour reconstruire, ou essayer de récupérer la base de données avant que la reconstruction ne commence, nous donnant l’option de « réessayer » ou de « reconstruire sans maxmind ».

2 « J'aime »

Soit dit en passant, le récent changement qui exige une clé API + un nom d’utilisateur au lieu d’une simple clé API a également provoqué l’échec de notre mise à niveau/reconstruction, entraînant quelques jours d’interruption.

D’accord avec les autres que désactiver/commenter dans app.yml >> reconstruire = a résolu le problème. Nous n’avons pas encore réactivé car nous attendons une éventuelle correction.

Avez-vous par hasard le message d’erreur indiquant où la reconstruction a échoué ?

1 « J'aime »