diff options
Diffstat (limited to 'test_automatic/rapport_beug_bottin.txt')
-rw-r--r-- | test_automatic/rapport_beug_bottin.txt | 40 |
1 files changed, 40 insertions, 0 deletions
diff --git a/test_automatic/rapport_beug_bottin.txt b/test_automatic/rapport_beug_bottin.txt new file mode 100644 index 0000000..1669e14 --- /dev/null +++ b/test_automatic/rapport_beug_bottin.txt @@ -0,0 +1,40 @@ +Introduction et Observation premières: + + Lors de la réalisation de mon code Go, j'ai trouvé un beug qui provoquait l'arrêt de mon programme car Bottin envoyé une réponse erronée à mon programme. + Dans logs de Bottin je ne voyais aucune erreur, Bottin n'avait pas cessé de fonctionner. Il s'arrêtait à chaque fois sur mes requêtes Del (mes dernières). + + +Reproduction du beug: + + Pour reproduire le beug, il suffit de lancer le programme interrogation.go et de commenter les lignes suivantes : + +260 //Close the connection and open an other. If we don't do this, bottin server send a wrong answer. Comment this part if you want to try this +261 l.Close() +262 l, err = ldap.Dial("tcp", fmt.Sprintf("%s:%d",adresse, port)) +263 printError(err) +264 err = l.Bind(bindusername, bindpassword) +265 printError(err) + + Ainsi on obtient l'erreur suivante: + +2021/07/07 01:25:51 Received unexpected message -128, false + + +Test réalisé pour comprendre la source du problème: + + Ma première hypothèses fut que j'envoyais trop de requêtes dans un court laps de temps et ainsi Bottin ou Consul ne pouvait pas suivre. +J'ai placé un sleep de 50 puis de 100 Millisecondes entre chaque requête, j'obtenais toujours la même erreur. +J'ai essayé de mettre un sleep de 10 secondes avant mes requêtes de suppression mais j'obtenais toujours la même chose. + +Hack pour résoudre: + + La première solution qui a fonctionné était de réduire le nombre de requêtes en n'exécutant pas certains tests random. + La dernière solutions qui est utilisée: + Fermée la connexion puis la réouvrir permet de palier à ce problème + +Hypothèses du problème ?: + + Existerait-il un Buffer par Bind qui se remplirait ? Et lorsque celui-ci est plein, ne renvoie pas d'erreur juste n'arrive plus à répondre. + +Erwan DUFOUR +Deuxfleurs |