2016年5月9日月曜日

innotopが最近息してないなーと思ったんだ

使っている人口がどれくらいいるかわからないですが、 innotop というtopライクにMySQLの状況を表示してくれる便利スクリプトが世の中には存在しています。

日々の覚書: innotopがすごく便利

もともとGoogle Codeにホスティングされてたんだけど、Google Codeはサービス終了しちゃったから(いつからか知らないけど)GitHubに移行してて、ひょっとしたらこのまま(移行だけしてメンテナンスされなくなって)息を引き取るんじゃないか疑惑が当時から俺の中にあったりなかったり。


原因がそれかどうかは全く知らないけれど、 innotopは5.6までは問題なく使える(5.6で使えなくなった時にちゃんと対応された)んだけど、5.7だと `SHOW ENGINE INNODB STATUS` をパースできなくなっていて(それ以外は何とか使える)、随分前からこれはIssueに上がってるんだけど、全然直される気配がない。

App crash on the "T" and "L" pages · Issue #109 · innotop/innotop


というか、 "Support MySQL 5.7" と銘打たれたコミットがひどすぎて、テストすら通らない(何故マージされたし)

Support MySQL 5.7 by potto007 · Pull Request #114 · innotop/innotop


ちまちま直してったら、こんな転け方もした。日付が違う? 馬鹿な。

$ perl t/InnoDBParser.t
1..5
ok 1 - /home/yoku0825/git/innotop/t/innodb-status-007
ok 2 - /home/yoku0825/git/innotop/t/innodb-status-001
ok 3 - /home/yoku0825/git/innotop/t/innodb-status-002
not ok 4 - /home/yoku0825/git/innotop/t/innodb-status-009
#   Failed test '/home/yoku0825/git/innotop/t/innodb-status-009'
#   at InnoDBParser.t line 2193.
#     Structures begin differing at:
#          $got->{IB_timestring} = '2015-06-09 13:52:05'
#     $expected->{IB_timestring} = '2013-06-19 13:47:37'
ok 5 - /home/yoku0825/git/innotop/t/innodb-status-008
ok 6 - /home/yoku0825/git/innotop/t/innodb-status-006
# Looks like you planned 5 tests but ran 6.
# Looks like you failed 1 test of 6 run.


という訳でまずテストを直すPRした。これがマージされれば Issue #109のやつも頑張るかも知れない。これがマージされないようなら、 innotop は死んだんであろう(というか、死んだと思ってForkしてゴニョったやつをrpmbuildしたらテストが通らないのに気が付いた。。)

Fix broken test for 5.7 by yoku0825 · Pull Request #135 · innotop/innotop


出来れば死なずにメンテナンスされ続けて欲しいなーと思いつつ、今後どうなるかなぁ。。
(多少なら自分で使う分くらいは頑張れると思うんだけど、全面的にメンテナンスは無理だなきっと。。)


【2016/05/11 00:20】

0 件のコメント :

コメントを投稿