aboutsummaryrefslogtreecommitdiff
path: root/test_automatic/rapport_beug_bottin.txt
diff options
context:
space:
mode:
Diffstat (limited to 'test_automatic/rapport_beug_bottin.txt')
-rw-r--r--test_automatic/rapport_beug_bottin.txt40
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