aboutsummaryrefslogtreecommitdiff
path: root/test_automatic/rapport_beug_bottin.txt
blob: 1669e1412377ec0b6f3939f9e0c7fca2767084a4 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
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