Debian サーバをアップデート

うるう秒もあるので debian サーバをアップグレード.基本的には以下のコマンドを実行すれば良い.

$ apt-get update
$ apt-get upgrade

久々にはてなブログにアクセスしたら,プレビューの方法が変わっている気がする.画面が小さいと見づらいけど,基本的には便利な感じ.

Hadoop の ShutdownHook

Hadoop はプロセス終了時の cleanup を行うために,ShutdownHookManager というクラスを用いている.このクラスは,JVMRuntime#addShutdownHook を用いて実装されている.スレッド終了時に停止する順番は指定できないので,複数のスレッドが一気に停止すると,race condition になりやすい.

Yosemite にアップグレード

ちょっと不安だったのだけど,今しかないと思って Mac OSYosemite にアップグレード.残り2分からおよそ5時間かかったけども,どうやら /usr/local 以下にファイルが大量にあると発生する現象らしい.再起動後は得に問題なく動作.homebrew のバイナリを全部再コンパイルしないといけないのかなぁと思っていたけども,バイナリ互換性はあるらしく,順調に動作した.MacTex も問題なく動作している.

唯一うまく動かなかったのが IntelliJ IDEA の 13.x.14 に上げれば正常に起動するようなので,インストールしたところ Java をインストールするように指示される.Java をインストールしたあとは無事に動作.めでたしめでたし.

TreeMap と HashMap

Hadoop のコードを探索していて,不思議な場所を発見.見つけたのは,Map の values() が呼ばれて,かつキーの値によって順序が保証されるべきなのに HashMap を使っている箇所.テストが入っていて通過していて,わたしがリファクタリングしたらそのテストがこけはじめた.何か勘違いしてるのかな.でも TreeMap にしたら直ったしな...不思議だ.