New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

drp_warn: deux demandes peuvent rentrer en conflit et donner des modifications infinies #13

Open
framawiki opened this Issue Sep 1, 2018 · 0 comments

Comments

Projects
None yet
1 participant
@framawiki
Collaborator

framawiki commented Sep 1, 2018

Un bug assez important a été reporté ici: https://fr.wikipedia.org/wiki/Discussion_utilisateur:Toto_Az%C3%A9ro#un_bug_???
Il s'agit de cas où le bot poste le message un nombre infini de fois sur la PDD d'un même utilisateur.

Exemples:

Un exemple de log:

phase try 0

found_full_template = True
PaS = False
=== [[Titre exact]] ===
statut_actuel = attente
date = 29 août 2018 à 10:34 (CEST)
non
DRP déjà traitée mais statut différent…
[[fr:Discussion utilisateur:Mehdi Bellatif]]
Titre exact
WARNING: API warning (main): Subscribe to the mediawiki-api-announce mailing list at <https://lists.wikimedia.org/mailman/listinfo/mediawiki-api-announce> for notice of API de$
WARNING: API warning (revisions): Because "rvslots" was not specified, a legacy format has been used for the output. This format is deprecated, and in the future the new forma$
/* Concernant votre demande de restauration de la page [[Titre exact]] */ nouvelle section

Distribué par [[Utilisateur:ZéroBot|ZéroBot]], le ~~~~~
Sleeping for 6.2 seconds, 2018-09-01 00:00:19
Page [[Discussion utilisateur:Mehdi Bellatif]] saved

Le problème semble se situer sur l’enregistrement dans la base, il marque que le "statut actuel" (la valeur qu'il a déduite de l'état de la page) vaut "attente", alors que celle sauvegardée dans la base vaut "non". Les valeurs étant différentes, il poste donc un message.

Mon analyse est que deux DRP portant sur la même page (souvent "Titre exact") ayant des états différents s'annulent entre elles à chaque passage du script. Demander à ce que toutes les demandes portent sur des titres différents est impossible, il faudrait ajouter une colonne dans la table, afin que le simili-primarykey porte cette fois sur la paire (nom de page + nom d'utilisateur) au lieu de seulement (nom de page). Il n'y aurait plus ce risque.

framawiki added a commit that referenced this issue Oct 28, 2018

drp_warn: hotfix pour #13
Vérifie que le message n'a pas déjà été posté avant de l'envoyer.
Surveille que les commentaires wikitext mais pas les posts Flow.

framawiki added a commit that referenced this issue Oct 28, 2018

drp_warn: hotfix pour #13
Vérifie que le message n'a pas déjà été posté avant de l'envoyer.
Surveille que les commentaires wikitext mais pas les posts Flow.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment