Liens brisés après le déplacement

Beaucoup de nos liens internes au forum sont brisés après le passage à un nouveau serveur. J’avais créé le nouveau serveur à une URL temporaire staging.example.com pour faciliter la transition, mais maintenant que la transition est terminée, de nombreux liens sur forum.example.com pointent toujours vers staging.example.com (qui n’existe plus).

J’ai vérifié le fichier app.yml et reconstruit :

containers/app.yml: DISCOURSE_HOSTNAME: forum.example.com

J’ai recherché dans admin > paramètres toute trace de « staging ».

La propagation DNS est depuis longtemps achevée.

Je vois cette ancienne référence, je ne sais pas si elle est liée.

Si aucune correction n’est possible sauf par une édition manuelle, avez-vous des indices sur la façon de trouver toutes les occurrences ? Le bouton de recherche ne fonctionne pas bien pour cela.

Je l’ai fait. Tout a très bien fonctionné, sauf que maintenant j’ai des liens brisés.

Donc tu dis que le remappage et/ou la régénération ont échoué ?

Désolé, je n’ai pas fait de remappage. Je vais essayer ce soir.

Oui, je peux maintenant confirmer que la réaffectation a échoué.

> /var/www/discourse# discourse remap staging.example.com forum.example.com
> Réécriture de toutes les occurrences de staging.example.com vers forum.example.com
> CETTE TÂCHE RÉÉCRIRA DES DONNÉES, ÊTES-VOUS SÛR (tapez OUI)
> OUI
> Erreur : ERREUR : la valeur de clé en double viole la contrainte unique "unique_post_links"
> DÉTAIL : La clé (topic_id, post_id, url)=(8718, 57455, https://forum.example.com/t/exampletopic/4606/336) existe déjà.
> La réaffectation n'a été appliquée que partiellement en raison de l'erreur ci-dessus. Veuillez relancer le script.

Je l’ai relancé comme indiqué et j’ai obtenu la même erreur, sur la même clé (topic_id, post_id, url).

Je peux accéder à la console Rails et exécuter du SQL/ActiveRecord si vous pouvez me dire quoi lancer. Ou utiliser Data Explorer.

Une autre personne devra vous aider avec cela, car je ne suis pas sûr de la raison pour laquelle vous auriez une valeur de clé en double.

Ironiquement, le sujet 8718 et le message 57455 incriminés se trouvent dans un MP entre deux utilisateurs qui déplorent que les liens soient brisés !

Mais en utilisant l’explorateur de données, je ne vois qu’un seul message avec l’identifiant 57455. Je ne sais pas pourquoi remap se plaint.

Le message contient probablement déjà l’ancienne et la nouvelle URL. Il suffit de le modifier et de les supprimer.

J’ai nettoyé quelques publications et j’ai pu terminer la réaffectation. Cependant, la réélaboration s’est arrêtée à 30 %, a rencontré des erreurs et a figé le système, ce qui m’a obligé à le redémarrer. Le système dispose de mémoire et d’espace disque suffisants.

Question : Après le redémarrage, dans ‘top’, un processus Ruby consomme 60 % du CPU. S’agit-il du tâche rake ? Reprendrait-elle automatiquement après le redémarrage ?

C’est probablement Sidekiq occupé par les régénérations. Rendez-vous sur /sidekiq de votre forum pour vérifier.