Le Touilleur Express

  • Accueil
  • A propos de l’auteur
  • A propos du Touilleur Express

Post-mortem du bug sur le CFP de Devoxx France

18 février, 2014

Je prends le temps de blogger ici (et pas sur le blog de Devoxx France) pour revenir sur le couac concernant les annonces de Devoxx France, le mardi 18 février.

Il y a eu un premier envoi d’emails à 11h15, qui malheureusement, pour quelques speakers, ne contenait pas les bonnes informations. Certains ont pu croire que leurs propositions étaient placées en Backup, alors qu’elles étaient en fait refusées. Le souci a été corrigé rapidement et à midi, un deuxième email a cette fois-ci, donné les bonnes informations. Ajoutons à cela un bug dans la page de validation… tout était réuni pour un souci qui heureusement, n’a pas trop pris d’ampleur.

A 11h05, j’ai passé sur la production une version qui permet d’annoncer aux speakers la bonne ou la mauvaise nouvelle. Pour vous donner un peu plus d’informations, voici comment nous avons géré cela cette année. Nous avons revu chaque présentation. Pour chaque sujet, nous l’avons « pré-approuvé » ou « pré-refusé ». Nous avions laissé à « submitted » les propositions à mettre en Backup hier soir.

Ce matin, j’avais plusieurs opérations à faire, avec un peu de code, qu’en principe vous n’exécutez qu’une seule fois. Je déclenche chaque étape en appelant une URL dans mon navigateur, sur l’admin. Le code est asynchrone et non-bloquant, ce qui permet de faire cela en batch.

La première action devait :

  • Charger toutes les propositions marquées comme étant « approuvées » dans un set Redis
  • Charger toutes les présentations marquées comme étant « refusées » dans un autre set Redis
  • Charger toutes les propositions avec pour l’instant l’état « submitted »
  • Si la proposition est approuvée, alors passer le sujet à « approved »
  • Si la proposition est refusée, modifier le sujet et le passer à « rejected »

Dans un deuxième temps, une autre action était chargée de :

  • Charger toutes les propositions avec maintenant l’état « approuvées »
  • Charger toutes les présentations « refusées »
  • Charger toutes les présentations « submitted »
  • Faire un diff entre cette liste complete, à laquelle on retire les approved (160) et les refused (290)
  • prendre ce résultat (en principe 20 talks) et marquer le sujet à « backup »
  • Faire l’envoi d’emails aux speakers

Le souci a été que je n’ai pas assez attendu avant de lancer la 2eme étape. Le script, censé passer à Refused l’ensemble des talks, n’a pas terminé. Dès lors, lorsque j’ai validé l’envoi d’email… une partie des sujets qui étaient encore en « submitted » et pas passés en « rejected », sont passés à « backup ». 

Malheureusement l’écran de validation avait un bug pour les sujets « Backup« . C’est cela qui a généré un souci important. Il permettait aux speakers d’Accepter un talk… qui normalement doit rester en Backup. C’est l’équipe qui recontactera chaque speaker, afin de lui proposer de jouer un talk « backupé » (ce qui représente 10-15 talks sur 450/470 je crois, tout format confondu… à vérifier)

 

Plusieurs raisons  :

  • la notion de Backup n’était pas implémentée, ce qui est un tort de ma part. Je n’aurai pas dû la calculer en faisant un diff entre les acceptés, les refusés et donc les autres propositions. Je n’aurai jamais dû mettre ce code dans la 2e action. Stupide.
  • je me suis fait aussi avoir par la latence entre le serveur de prod et le serveur Redis. C’est super de faire du code asynchrone. Le souci ici c’est que j’ai enchainé 2 appels d’URLs, sans vérifier par moi-même que le premier traitement avait été effectué. Imaginez que vous lancez 2 procédures stockées, la deuxième étant dépendante du résultat de la première.

Grâce à Twitter, avec l’aide d’Arnaud Héritier aussi qui a géré tout de suite le souci, on a pu répondre et temporiser le souci. Il a suffit de déplacer le code qui place les talks « en backup » et de rejouer les 2 actions. 

Désolé auprès des quelques speakers qui ont reçu un email leur disant qu’ils étaient backup au lieu de refusé.

 

Articles similaires:

Default ThumbnailCFP de Devoxx France, présentation Default ThumbnailVidéo : réussir sa présentation à Devoxx France Default ThumbnailRetour sur Devoxx 2012 et infos sur Devoxx France 2013 Default ThumbnailLa cuvée Devoxx France
  • Alban Dericbourg 18 février 2014 at 14 h 04 min

    En compensation, je propose d’offre un pass trois jours à tous les concernés O:-)

    (j’aurai essayé)

    Merci pour ce retour en tout cas. Et bon courage pour la suite de l’organisation !

  • regis 21 mars 2014 at 15 h 37 min

    Les tests ils sont ou ?

Derniers articles

  • Vis ma vie de Staff/Principal Engineer

    Suite de l’article précédent sur le Staff Engineer. Aujourd’hui, voyons un peu

    20 juillet, 2022
  • Inari

    Devenir Staff Engineer : comment et pourquoi ?

    Après une dizaine d’années en tant que développeur, vous serez un jour

    17 juillet, 2022
  • WeAreDevelopers 2022, conférence à Berlin – jour 1

    Il est 8h40, 19 degrés, vous êtes à Berlin. La queue dehors

    24 juin, 2022

Tweets @nmartignole

  • RT  @katecrawford : Umm, anyone a little concerned that Bard is saying its training dataset includes... Gmail? I'm assuming that's flat out…

    2 days ago
  • Je découvre qu’ils apprennent le SQL en Terminal, très intéressant https://t.co/MrfcHve9wo

    3 days ago
  • RT  @AmelieBenoit33 : Je m’essaye à de nouveaux formats ! Un premier sketch qui me trottait en tête depuis le sketchnote précédent; la techn…

    3 days ago

Mots clés

Apple (32) Architecture (13) Big Data (5) Conference (8) Devoxx (55) Dev Web (37) Doctolib (2) geekevent (1) groovy (2) Innoteria (11) Java (517) Linux (10) Non classé (14) Perso (266) Recrutement (3) Scala (30) scrum (43) Société (3) Startup (20) Web 2.0 (67)

Le Touilleur Express

Blog par Nicolas Martignole

Contactez-moi : nicolas@touilleur-express.fr

Suivez-moi sur Twitter : @nmartignole

Copyright© 2008 - 2020 Nicolas Martignole | Tous droits réservés
  • A propos de l’auteur
  • A propos du Touilleur Express
  • Log In
  • My Account
  • My Profile
  • Reset Password

Le Touilleur Express