this post was submitted on 05 Jul 2023
13 points (100.0% liked)
France
2792 readers
1 users here now
Hop, [email protected] c'est finit, merci de migrer sur [email protected]
founded 1 year ago
MODERATORS
you are viewing a single comment's thread
view the rest of the comments
view the rest of the comments
J'imagine que la priorité est de combler ces fuites mémoire. Que tous les grosses instances redémarrent chaque 30 minutes, c'est loin d'être idéal.
De même, il était question de perte de messages entre instances. Et il n'y a aucun système de rattrapage. Lorsqu'un contenu n'est pas transmis d'une instance à l'autre suite à une erreur, il ne sera jamais transmis. Ce n'est pas absolument catastrophique comme fonctionnement, mais ça donne une idée du protocole : simple, mais avec des pertes.
Idéalement le protocole voudrait une myriade de petites instances au lieu de monolithes. Ils sont confrontés à ça aussi sur mastodon avec mastodon.social qui est désormais l'instance par défaut pour les inscriptions et qui centralise aussi beaucoup de problèmes
C'est vraiment des fuites mémoires ? En Rust ça semble difficile d'en faire, non ? Peut-être plus une politique de caching. (Pure spéculation.)
Rust ça rend difficile l'accès à la mémoire "illégale" genre segfault, ça n'empêche pas d'attribuer de la mémoire et de la gérer n'importe comment malheureusement.
Je ne connais pas Rust mais il suffit de créer des structures (ex. objets) sans les libérer.
Un exemple connu en protocole réseau, c'est par exemple de dire "Boujour ça va ?" (SYN), recevoir "Bonjour ça va, et toi ?" (ACK), mais ne jamais répondre "Ça va. (SYN-ACK). https://fr.m.wikipedia.org/wiki/Three-way_handshake
Et recommencer plein de fois. Le serveur va garder en mémoire une petite structure pour attendre la réponse et au bout d'un moment, être saturé. https://fr.m.wikipedia.org/wiki/SYN_flood
Tout à fait