弊社ではバグのないリリースを目指してかなりの時間と労力を費やしています。弊社の方針で MySQL バージョンに既知の致命的な再現性のバグがある場合には量産品をリリースしません。
弊社では設計に関わるすべての一般的な問題、バグ、および懸案事項をすべて文書にまとめています。項B.1.8. 「Known Issues in MySQL」 参照。
弊社では MySQL バージョンの安定性を損なわずに修正可能なバグをすべて修正することを目標にしています。場合によっては、これは安定したバージョン (量産品) ではなく開発バージョンの問題の修正を意味します。当然のことですが、そのような問題をユーザーに認識させるために文書にまとめています。
以下に弊社のビルド プロセスを説明します。
http://bugs.mysql.com/ にあるバグ データベースのカスタマーサポート リスト、および MySQL 外部からのメーリング リストでバグを監視します。
現在使用されているバージョンでレポートされたすべてのバグはバグの データベースに入力されます。
バグを修正した場合には必ずテストケースを作成し、バグが検知されずに再現しないようにテスト システムに加えます。(修正したバグのおよそ 90% にテストケースがあります。
MySQL に追加する各新規機能にテストケースを作成します。
新しい MySQL をリリースする前に、報告されたすべての再現性バグが MySQL バージョン (3.23.x、4.0.x、4.1.x、5.0.x、5.1.x など) で修正されているか確認します。MySQL の内部の設計上の問題で修正が不可能な場合には、これをマニュアルに詳細に記録します。項B.1.8. 「Known Issues in MySQL」 参照。
サポートしているバイナリのすべてのプラットフォームにビルドを行い、それらのすべてに一連のテストおよびベンチマークを実行します。
一連のテストあるいはベンチマークに失敗したプラットフォームにはバイナリを公開しません。その問題がソースの一般的な問題の場合には、その問題を解決し、ビルドしてすべてのシステムに再度ゼロからテストを実施します。
ビルドとテスト プロセスに一週間かかります。このプロセスで致命的なバグに関する報告があった場合 (例えば、コアのダンプにつながるバグ)、その問題を修正し再度ビルド プロセスを実行します。
バイナリを http://dev.mysql.com/
で公開した後、その通知メッセージを
mysql
に送り
announce
メーリング
リストに発表します。項1.6.1. 「MySQL メーリング リスト」
参照。通知メッセージにはリリースに対するすべての変更およびそのりシースの既知の問題が含まれています。このリリース
ノートの既知の問題セクションはこれまではほんの一握りのリリースに必要でした。
ユーザーに MySQL の機能に素早くアクセスして頂くために、新しい MySQL リリースを 4-8 週間でリリースする予定です。ソースコードのスナップショットは毎日ビルドしており、http://downloads.mysql.com/snapshots.php から入手できます。
弊社で最大限の努力をした場合でも、リリース公開後に特定のプラットフォームで構築中に重大な問題があるとの報告を受ける場合ばあります。弊社ではそれを直ぐに修正してそのプラットフォームに新しい
'a'
リリースをビルドします。多数にユーザーにご利用頂いているお陰で、問題の発見および解決が非常に迅速にできます。
安定したリリースを可能にする弊社の追跡記録は非常に優れています。過去
150
のリリースで、これまで新しいビルドはそのうち
10 件以下です。これらの内 3
件は、バグが弊社のビルド
マシンの一つで間違った glibc
ライブラリにあったために、バグの追跡に長い時間がかかりました。