Pour info: https://wiki.openstreetmap.org/wiki/User_talk:Verdy_p#Platform_Status
(je mentionne cette discussion car plusieurs m'ont posé des questions sur le "Platform Status" du Wiki et j'y ai répondu, puis j'ai alimenté ce que j'ai pu trouver comme pistes sur le traqueur de bogues de MediaWiki) Je pense que je vais migrer cette section de ma page de discussion dans une page dédiée. Je pense que même les admins du wiki OSM ne sont pas tous au courant Cette section est en grande partie en anglais, mais la maintenance du wiki OSM est maintenant très délicate voire quasi impossible: les catégories ne sont plus du tout mises à jour, le suivi des liens est impossible après avoir renommé une page quelconque. Tout ce qu'on peut faire c'est tenter de suivre les pages modifiées qu'on a déjà dans sa liste de suivi (mais la mise à jour de la liste perso de suivi est elle aussi boguée !) Depuis le déploiement de la version 1.28.0 (puis de la version 1.18.2 qui ne corrige pas l'anomalie mais l'a aggravé) il est presque impossible de vérifier la cohérence des liens des catégories, et même de détecter des contenus "spammés" indésirables. Et des tas de modifications sur le wiki ne sont plus signalées à ceux qui suivaient des pages. Les listes de suivi perso sont également corrompues (avec des tonnes de doublons!) ou explosent au delà de la taille maximale avec ensuite des pertes irréparables. Des mails de notification ne sont également pas envoyés (je n'ai pas fait le point de tous les cas possibles). En gros MediaWiki 1.28 a complètement bouleversé la façon dont des mises à jour de la base sont maintenant sous-traitées en arrière-plan (sans attendre qu'elles finissent durant le temps de la transaction utilisateur sur le web), dans le but d'améliorer le temps de réponse lors de la navigation et éviter des "reflows" multiples dans le navigateur au fil des données reçues. En gros tout ce qui peut être différé sans bloquer l'envoi de la page HTML formatée est mis en attente dans une tache différée. Ensuite quand la session HTTP de l'utilisateur se termine le serveur peut continuer à effectuer un certain nombre de tâches différées (cette quantité est paramétrable) et sinon au delà d'un seuil la tâche différée est convertie en "job" insérée dans la "job queue". Ces jobs s'exécuteront plus tard (éventuellement des heures après) par une tâche programmée (cron) sur le serveur qui ira lire la base de données pour les trouver puis les exécuter. Ce qui est nouveau est que ces tâches programmées peuvent elles-même repousser d'autres tâches différées qui seont éventuellement converties en "jobs" à exécuter eux aussi plus tard. Ce système est complètement défaillant, notamment pour la mise à jour des catégories, et le suivi des liens ("what links here") ou encore pour les traqueurs de contenus indésirables et certaines notifications qui ne fonctionnent plus dans le nouveau système, à cause de préconditions (assumptions) fausses: selon les cas cela cause des erreurs fatales (visibles dans les logs du serveur) ou bien l'annulation silencieuse de tâches différées (qui ne sont pas enregistrées dans la base comme elles auraient du l'être), ou bien des tâches différées trop nombreuses qui ne sont pas converties en "jobs", ou bien qui ne sont pas ôtées de la file d'attente et sont répétées (ce qui peut causer l'explosion de la job queue pour certaines requêtes "récursives". Dans ma page de discussion je suggère d'arrêter la version MediaWiki 1.28 et revenir à la version 1.27 (qui avait quelques bogues aussi dans la "JobQueue" mais moins critiques et pour lesquels on avait un contournement facile (au pire un simple "null-edit" sur la page qu'on venait juste de modifier). Mais là on n'a aucun contournement et des centaines de milliers de tâches différées ont été perdues depuis fin mai, ou ont été tentées plusieurs fois (3 fois avec échec) avec un abandon automatique (cela a causé il y a quelques jours une explosion combinatoire des tâches avec plusieurs centaines de milliers de jobs dans la job queue, qui ont tous échoué et ont tous été abandonné. Maintenant la job queue est vide (ou pratiquement) et des tas de mises à jour ne se font plus du tout et sont perdues silencieusement la plupart du temps (invisibles même dans les logs administrateur sur le serveur). Les développeurs de MediaWiki sont en train de concevoir des "moulinettes" PHP pour rescanner les pages: cela sert temporairement à de la maintenance manuelle (du côté des wikis de MediaWiki, certaines moulinettes sont actives pour réparer les dégats mais elles sont très gourmandes en CPU/réseau/mémoire/requêtes SQL et les performances s'en ressentent: ce n'était pas le but de la version 1.28 qui devait accélérer la navigation sur le wiki. Mais il n'est pas possible d'employer ces moulinettes en continu sur le wiki OSM (le serveur n'est pas assez puissant pour ça). Mais il faudra bien prévoir un jour ou l'autre un arrêt temporaire du wiki pour faire de la maintenance hors ligne (et ça prendra des heures... voire des jours avec le serveur actuel et il faudra prévoir des réparations partielles successives avec des arrêts à programmer plusieurs jours ou sur plusieurs semaines pour rattraper les anomalies accumulées, et ceci même si on revient en version MW 1.27). J'ai donné la liste des anomalies relatives à ces problèmes sur ma page de discussion, pointant sur le Phabricator de MediaWiki. Tout ce que je peux dire aussi, c'est que si vous gérez d'autres petits wikis perso, il vaut mieux ne pas utiliser la version 1.28 actuelle (ni les versions suivantes 1.29 et 1.30 qui ne sont pas plus corrigées sur ce point) mais rester en version 1.27 maxi. La version 1.28 a beau être affichée par MediaWiki comme la dernière version "stable", elle ne l'est pas du tout et cela complique sérieusement la maintenance de base des contenus par leurs contributeurs réguliers et même pour les admins de ce wiki (même ceux ayant accès à la base SQL ou aux tâches cron et au niveau natif du système Unix/Linux sur un serveur dédié ou dans une VM à eux). Certains patches ont été faits pour la version 1.27 et ils fonctionnent et il faut aussi faire attention au paramétrage de MediaWiki (activation ou pas des "jobs" ou des "deferred updates"). ceux pour MX 1.28, 1.29, 1.30 ne marchent pas encore (et ce sont surtout des beta-tests ou ils ne fonctionnent en partie que pour Wikimedia avec une implication forte de son équipe d'adminstration système, et des patches spécifiques mais non portables pour contourner certains problèmes en utilisant plusieurs serveurs complémentaires et des sycnhronisations complexes entre serveurs)
_______________________________________________ Talk-fr mailing list Talk-fr@openstreetmap.org https://lists.openstreetmap.org/listinfo/talk-fr