オレオレGUIの作り方

というわけで(?)、Cassandra勉強会 第8回で発表してきました。
資料はこちら。ハッシュタグは#casstudy8th(無線LANは無かったのであまり書き込みはありませんでしたが)。ソースはこちら。Jetty+Vaadinこれ最強なり、と言うお話です。



意外や意外、半分くらいがWebアプリ作ってますよな人々で、残りの半分くらいが画面のないサーバを作っておられました。なので、割と共感して頂けたのかもしれません。
是非さくっと簡単な管理画面を作れる助けになれば、と思っております。

今日はかなり話がマニアックな方角に進んだせいか、ドタキャンがまあ多かったねーなんて言う話も出ていました。
皆様、出席できない場合はキャンセルしましょうねー。

んで、資料の中でちょこっと話をしましたCassandra+Seasar2(と通信基盤にOverlay Weaver)を使ったMapReduceフレームワーク、早いところ公開できるといいなぁと思っております。
なにそれHadoopと何が違うの?おいしいの?と言われると困るんですが、まあ色々とメリットがあったり無かったりという感じですので、まあおいおいお見せできたらなと思っております。

参加された皆様、お疲れ様でしたー。
#本番は懇親会!#と言うことで、次回もよろしくお願いいたします。

今日踏んだ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回くらいじゃね?という感覚なのでしょうか。。。
実験途中には結構あると思うんですが、、、いかがなものでしょうか。

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