今日踏んだCassandraのバグについてまとめます

twitterで皆様にププッと笑われた(汗)、今日踏んだCassandraのバグについてまとめます。

今日踏んだのはこれ、「Exception auto-bootstrapping two nodes nodes at the same time」
https://issues.apache.org/jira/browse/CASSANDRA-1011
0.7でFIXのつもりらしいです。

環境は0.6.3の4ノードで、データが空っぽの状態で1ノードをマスタっぽく立ち上げ、その後残りの3ノードをgxpで同時に立ち上げると「Bootstrap Token collision」が拝める、と言うわけです(涙)。
(たぶん何らかデータが入っていれば各ノードの起動が本当に同時にはならないので再現しない、様な気がします。)

で、で、で、僕が気になるのは、ノードの起動って皆様どうしてる?というところなんです。
僕が使っているのはGXPというGridShellで、要は1つのshellから指定したノードにログインして、各ノードに同じコマンドが投げられるんです。だから、ノードが1個だろうと100個だろうと同じ1発のコマンドで操作できるわけです。
なので、同時にコマンドが投げられるのなんて当たり前だと思ってたんですが、、、このIssueはMinor扱い。っていうかみんなノードの起動ってどうやってるの?手動でringに入るかどうかを待って、次のノードを起動してるの?そういうもの?と疑問に思ったわけです。

GXPみたいなshellを使わなくても、普通にscreenで次々サーバを変えてCassandraを起動するだけでもこのエラーに遭遇するんですが、、、やっぱりそもそもデータが空っぽでノードを起動するなんて1年に1回くらいじゃね?という感覚なのでしょうか。。。
実験途中には結構あると思うんですが、、、いかがなものでしょうか。

また一つ勉強会で追求してみたいネタが出来ました。なんてね。