Flynn: contrôleur, planificateur: correction de la contrainte de duplication d'événement de tâche

Créé le 9 sept. 2016  ·  4Commentaires  ·  Source: flynn/flynn

Nous ne créons actuellement qu'un seul événement par ID et état de travail (voir ici ), mais il est possible pour un travail d'entrer deux fois dans un état particulier.

Par exemple, si un hôte est jugé défectueux par le planificateur, toutes les tâches de cet hôte sont marquées comme étant hors service, mais si l'hôte revient, les tâches peuvent toujours être en cours d'exécution, de sorte que les tâches reviennent à l'état en cours d'exécution. Les déploiements suivants impliquant ces travaux échoueront alors car les événements d'arrêt ne seront pas émis (l'événement d'arrêt existe déjà à partir du moment où l'hôte est devenu défectueux).

Quelques options:

  • supprimer la contrainte unique (il faut se demander si quelque chose suppose que les événements ne seront pas dupliqués)
  • lorsque le planificateur marque les travaux comme étant arrêtés, arrêtez-les simplement s'ils semblent à nouveau en cours d'exécution car les travaux de remplacement ont déjà été démarrés

@titanous @josephglanville @jvatic pensées?

componencontroller componenscheduler kinbug

Commentaire le plus utile

Sinon, un état différent peut être ajouté pour les travaux qui ont disparu parce que l'hôte a disparu.

Tous les 4 commentaires

lorsque le planificateur marque les travaux comme étant arrêtés, arrêtez-les simplement s'ils semblent à nouveau en cours d'exécution car les travaux de remplacement ont déjà été démarrés.

Je pense que c'est la bonne réponse.

Sinon, un état différent peut être ajouté pour les travaux qui ont disparu parce que l'hôte a disparu.

@titanous Je ne pense pas que l'ajout d'un nouvel état pour les travaux sur des hôtes déconnectés aidera vraiment.

Lorsque le planificateur se reconnecte à un hôte dont les travaux ont été précédemment marqués comme arrêtés (ou mis dans un autre état comme unknown ), il doit encore décider s'il faut simplement arrêter les travaux qui sont encore en cours d'exécution ou essayer et marquez-les comme en cours d'exécution (conduisant à la duplication d'événements up dans le contrôleur).

Je pense que nous devrions simplement arrêter les emplois immédiatement après la reconnexion.

Flynn n'est pas entretenu et notre infrastructure sera fermée le 1er juin 2021. Voir le README pour plus de détails.

Cette page vous a été utile?
0 / 5 - 0 notes

Questions connexes

titanous picture titanous  ·  4Commentaires

heldopslippers picture heldopslippers  ·  4Commentaires

deviousgeek picture deviousgeek  ·  7Commentaires

kipparker picture kipparker  ·  3Commentaires

tuukkamustonen picture tuukkamustonen  ·  5Commentaires