La version 5.1 de MySQL est-elle bourrée de bugs ?
La version 5.0 de la base de données MySQL est sortie en version stable en octobre 2005. Cela faisait donc plus de 3 ans que les utilisateurs attendaient une nouvelle version stable et le bébé est arrivé le 27 novembre dernier (en version 5.1.30) en apportant pas mal de nouveautés. Cet article très complet du site Heise Online décrit les principales (partitions des bases sur plusieurs disques, gestionnaire d'évènements, amélioration des fonctions de réplication, log dans les tables, etc).
Tout semble donc bien aller dans le petit monde de MySQL. Certes la nouvelle version s'est faite attendre et ce n'est qu'une version intermédiaire avant le grand saut de la version 6.0 (qui sera basée sur Falcon) mais après tout une base de données est un composant critique et il vaut mieux prendre le temps de proposer un produit stable. Même si cela prend plus de trois ans.
L'ennui se situe justement là. Selon un article posté sur le blog du créateur de MySQL (Michael Widenius) cette version est bourrée de bugs critiques !
NdM : Détails dans la suite de la dépêche. Merci à patrick_g pour son journal à l'origine de celle-ci.. LinuxFr.org utilise MySQL 5.0 au moment de la publication de cette dépêche.
Alors que la 5.1 n'est qu'une version « d'attente » de la 6.0 et qu'elle doit donc ne proposer que des nouveautés sans risques et traquer les bugs c'est le contraire qui est constaté par M. Widenius. On trouve dans son post des phrases comme :
- Ne vous attendez pas à ce que tous les bugs critiques que vous aviez rencontré dans la 5.0 soient corrigés dans la 5.1.
- Si vous projetez d'utiliser les nouveautés de MySQL 5.1 alors considérez ces fonctions comme étant en qualité béta.
- Nous avons encore 20 bugs connus provoquant des crashs et des résultats erronés dans la 5.1. Et 35 bugs de plus si on ajoute ceux de la 5.0 qui doivent toujours être présents dans la 5.1. Nous avons également encore plus de 180 bugs sérieux (P2) dans la 5.1.
- Concernant les nouveautés si vous avez un crash d'une table partitionnée alors il est très difficile (parfois impossible) de la réparer.
- Si vous avez un crash serveur pendant un ALTER TABLE sur une table partitionnée alors vous pouvez perdre toutes les données de cette table.
- Le log dans les tables est si lent (-30%) que la fonction est inutilisable pour les sites chargés.
D'après Widenius il y a plusieurs explications à la sortie de cette version pleine de bugs bloquants. D'après lui ce sont les managers et pas les ingénieurs qui prennent les décisions de sortie en fonction d'un planning prédéfini et pas en fonction de la qualité réelle du code. Les équipes ont été éclatés en plusieurs teams et de nombreux « core developers » on quitté la boite depuis le rachat par Sun. La communauté n'est pas incluse dans le processus de test et elle ne peut pas vraiment remonter les bugs lors du développement.
Widenieus ne critique pas Sun et il déclare même que la faute revient exclusivement au management de MySQL. La seule faute de Sun serait de ne pas avoir changé l'organisation pour corriger les dysfonctionnements. Il plaide finalement pour un mode de fonctionnement « proche de celui de postgreSQL où la communauté a un rôle moteur dans ce qui est fait et décidé ».
retour en arrière