読者です 読者をやめる 読者になる 読者になる

テストステ論

高テス協会会長が, テストステロンに関する情報をお届けします.

(writeboost report) 2.2.1に向けて

2.2.1に向けてwriteboost-test-suiteの開発をしたのだが, テストスイートが良くなったからか, あるいはどこかでデグレしたのか, 「こんなテストバグってましたっけ?」というエラーが発現している. dmsetup statusで状態を見る限り, おそらくライトブーストのバグだと思う. nr_dirty_cache_blocks (ライトバックしてないダーティブロックの数)が狂っており, 何かおかしい. read-cachingを外しても再現するのでこいつは無実.

2.2.1はwill release soonと言ってたけど, これはたぶん長くなる気配がある. キャッシュ制御のパスを通してデータが正しいか見るようなテストはまぁまぁ綿密にやった上できちんとパスしているので, マルチスレッドで問題を起こしてる可能性がある. ライトブーストはSSDに書くスレッドやライトバックするスレッドなどが色々いる.

まずはダーティブロック数に注目して, もっとシンプルなケースで再現することを目指す. ダーティブロック数のinc/decがどこかで間違っているだけというならば罪は軽い.

ドミトリがread-cachingをenableにした場合のみ発現するバグも報告しており(リプロデューサを要求しているが, スクリプトはまだ再現出来てない), こちらも悩ましい. しかし, read-cachingはライトブーストの価値にはあまり貢献しない機能だと見ているのと, そもそもexperimentalをdocから外していないので, こちらは落としたままリリースしても大きな問題ではない.

その他, 2.2.1では, コードレベルで見つかったバグをいくつか修正するつもり.

明日は運よく3連休の最終日という休日なので, 一気に行く.