Skip to content
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

[beta][v16][rc1] Déplacer un extrait d'un contenu publié rend le tutoriel indisponible pour de bon #3328

Closed
firm1 opened this issue Jan 22, 2016 · 23 comments
Labels
Bloquant Ticket qui doit être traité avant la prochaine mise à jour C-Back Concerne le back-end Django S-Régression Corrige un problème sur un composant qui fonctionnait auparavant
Milestone

Comments

@firm1
Copy link
Contributor

firm1 commented Jan 22, 2016

Version : le problème arrive au moins sur la v16-RC1 (qui est actuellement en béta), vous comprendrez que je ne vais pas essayer de le reproduire en prod pour tester.

C'est assez complexe à reproduire, mais dans la suite je vais noter en gras les points commun entre mon cas et le cas de yoch qui ont permis de reproduire le bug.

Prérequis :

  • Avoir un contenu au format tutoriel et mini-tuto
  • Ce contenu doit être publié

Scénario :

  • Allez dans le menu "Mes tutoriels"
  • Sélectionnez le tutoriel qui correspond aux prérequis
  • Scrollez jusqu'à la 2e section et cliquez sur "Déplacer"
  • Dans la modale le choix proposé est "Monter", ne le changez pas, cliquez simplement sur le bouton "Déplacer"
  • Pouf ... une 404
  • Le vrai problème c'est qu'une fois qu'on obtient cette 404, on ne peut plus accéder à son tutoriel en mode rédaction.

Je note en bug, car je ne sais pas si c'est reproductible en prod. Je n'ai pas assez d'élement pour savoir s'il est bloquant ou pas.

@firm1 firm1 added S-BUG Corrige un problème C-Back Concerne le back-end Django labels Jan 22, 2016
@gustavi gustavi added S-Régression Corrige un problème sur un composant qui fonctionnait auparavant and removed S-BUG Corrige un problème labels Jan 22, 2016
@artragis
Copy link
Member

je n'arrive pas à reproduire le bug en local.

@artragis
Copy link
Member

Non plus sur la béta.

@artragis
Copy link
Member

Je relance : @GerardPaligot et moi-même n'arrivons pas à reproduire, y a-t-il d'autres cas svp qu'on puisse diagnostiquer?
@firm1 le tuto que tu as utilisé pour tester existait-il sur la béta avant la release ou bien est-ce un nouveau tuto de test? Dans le premier cas il se peut que ça soit un tuto qui avait détecter une erreur dans une ancienne béta, on n'a pas fait de resync entretemps.

@GerardPaligot
Copy link
Member

Est-ce qu'on peut disposer d'une archive sur laquelle on rencontre le problème quand on lance le scénario ?

@firm1
Copy link
Contributor Author

firm1 commented Jan 28, 2016

@firm1 le tuto que tu as utilisé pour tester existait-il sur la béta avant la release ou bien est-ce un nouveau tuto de test?

Le tuto existait avant la release.

Pour info, yoch a eu le même problème.

@GerardPaligot je ne peux plus télécharger l'archive en question puisque j'ai une 404 en allant sur le tutoriel.

@GerardPaligot
Copy link
Member

@firm1 Oui mais tu nous dis savoir reproduire le tuto non ?

Prérequis :

  • Avoir un contenu au format tutoriel et mini-tuto
  • Ce contenu doit être publié

@artragis
Copy link
Member

même si je n'en suis pas sûr, il est probable que ces tutos soient victimes
de nos anciens tests et soient dans un état déjà bien instables.

Le 28 janvier 2016 à 15:26, firm1 notifications@github.com a écrit :

@firm1 https://github.com/firm1 le tuto que tu as utilisé pour tester
existait-il sur la béta avant la release ou bien est-ce un nouveau tuto de
test?

Le tuto existait avant la release.

Pour info, yoch a eu le même problème
https://zestedesavoir.com/forums/sujet/5181/et-ce-fut-la-v16-et-les-testeurs-testerent/#p95427
.

@GerardPaligot https://github.com/GerardPaligot je ne peux plus
télécharger l'archive en question puisque j'ai une 404 en allant sur le
tutoriel.


Reply to this email directly or view it on GitHub
#3328 (comment)
.

@firm1
Copy link
Contributor Author

firm1 commented Jan 28, 2016

@GerardPaligot non justement, les prérequis sont les conditions dans lesquels le bug est arrivé. Mais effectivement l'un des prérequis semble être que les tutos aient été publiés avant la release. Peut-être qu'on est dans le cas décris par @artragis (tutos instables), mais je n'ai aucune idée de la véracité du truc.

Idéalement il faudrait faire une copie de la prod sur la beta et refaire les tests.

@artragis
Copy link
Member

@SpaceFox, si un jour tu as une vingt-cinquième heure dans ta journée?

Le 28 janvier 2016 à 15:38, firm1 notifications@github.com a écrit :

@GerardPaligot https://github.com/GerardPaligot non justement, les
prérequis sont les conditions dans lesquels le bug est arrivé. Mais
effectivement l'un des prérequis semble être que les tutos aient été
publiés avant la release. Peut-être qu'on est dans le cas décris par
@artragis https://github.com/artragis (tutos instables), mais je n'ai
aucune idée de la véracité du truc.

Idéalement il faudrait faire une copie de la prod sur la beta et refaire
les tests.


Reply to this email directly or view it on GitHub
#3328 (comment)
.

@artragis
Copy link
Member

artragis commented Feb 3, 2016

Bon apparemment quelqu'un a reproduit ça en prod bien que je ne comprenne pas comment car la prod est peu verbeuse quant aux erreurs 404.

@artragis
Copy link
Member

artragis commented Feb 4, 2016

on peut réessayer svp? maintenant que c'est isoprod, l'hypothèse de on a tout fait cassé avant ne pourrait plus être retenue.

@GerardPaligot
Copy link
Member

Pensez à télécharger l'archive avant de rouler le scénario. Cela pourrait peut-être permettre de répéter le bug en local.

@firm1
Copy link
Contributor Author

firm1 commented Feb 4, 2016

Après la synchro de la prod <-> préprod au niveau datas, j'arrive toujours à reproduire le bug sur le même tuto. Impossible de savoir, si le problème vient de la v15 ou de la v16 (je n'ose pas tester en prod directement).

Mais cette fois çi, j'ai pensé à sauvegarder l'archive de mon tuto avant de tout casser : comment-reussir-votre-entretien-dembauche-dump.zip

Je précise mon scénario de test :

  • Je vais dans mes tutoriels
  • Je sélectionne mon tutoriel (qui je précise est déjà publié)
  • Je clique sur "déplacer" sur la 2ème section
  • Je clique sur le bouton "Déplacer" (c'était bien le choix 'monter' qui m'était affiché)
  • BIM la 404 qui me rend mon tutoriel indisponible pour la rédaction.

Je commence à me demander si on devrait pas le tagguer en bloquant

@SpaceFox SpaceFox added the Bloquant Ticket qui doit être traité avant la prochaine mise à jour label Feb 4, 2016
@SpaceFox
Copy link
Contributor

SpaceFox commented Feb 4, 2016

je n'ose pas tester en prod directement

Heureusement.

C'est bloquant, en effet.

@artragis
Copy link
Member

artragis commented Feb 4, 2016

et comme on n'a pas de log, je sais même pas ce qui a lancé l'erreur 404...

@firm1
Copy link
Contributor Author

firm1 commented Feb 5, 2016

Est-ce que quelqu'un arrive a reproduire mon problème avec l'archive que j'ai linkée ci-dessus ? ça permettrait d'identifier la cause du souci.

@artragis
Copy link
Member

artragis commented Feb 5, 2016

nope.

@SpaceFox: (ou toute personne qui a les droits, dont @firm1 je crois) as-tu activé les logs sur la béta?

De même peux-tu nous donner le résultat de :

cat manifest.json
ls

lorsque tu es dans le dépôt du tutoriel (celui de contents-private).

@artragis
Copy link
Member

artragis commented Feb 7, 2016

Bon suite à un test avec sandhose, note à moi même pour régler le problème :

  • dans tous les mixins qui sélectionne object faire un "repare auto" du sha_draft en cas de problème : en effet c'est ça qui cause l'indisponibilité, le sha a été supprimé à un moment
  • trouver dans la branche de déplacement ce qui peut causer une suppression du sha.

Notons que vue la non répétabilité du bug avec un nouveau tuto, je pense que c'est parce que ce dernier a de gros problèmes à la base. Du coup la procédure de reparation devrait suffire.

@artragis
Copy link
Member

Le bug n'est pas corrigé.

Et le pire c'est qu'on ne comprend toujours pas pourquoi il arrive dans ce cas très précis.

@artragis
Copy link
Member

@firm1 @sandhose @SpaceFox @GerardPaligot je vais faire une première PR qui aura pour but de mettre des vrais messages d'erreur pour les http404 et du logging. Comme ça on pourra comprendre comment le bug a lieu.

@artragis
Copy link
Member

bon on a réussi à trouver ce qui rendait le tuto indisponible :

lorsqu'on déplace une section dans un minituto (et je suppose une partie dans un autre type de tuto) et que le tuto possède un titre avec un apostrophe le slug est changé à cause des conflits d'algorithme de slugification il semblerait.

Je vais donc modifier le "force update slug" pour que ça n'arrive plus dans le cadre d'une maj.

@GerardPaligot
Copy link
Member

@artragis Congrats! J'ai hâte d'avoir la PR pour finaliser notre release et enchainer sur la suivante !

@GerardPaligot GerardPaligot added this to the Version 16 milestone Feb 17, 2016
@GerardPaligot
Copy link
Member

Enfin corrigé, on voit le bout de cette release !

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Bloquant Ticket qui doit être traité avant la prochaine mise à jour C-Back Concerne le back-end Django S-Régression Corrige un problème sur un composant qui fonctionnait auparavant
Projects
None yet
Development

No branches or pull requests

5 participants