Re: [Kai-devel-ja] sasl の組み込み
Kai is a distributed key-value datastore
Status: Beta
Brought to you by:
takemaru
From: masahito i. <coo...@gm...> - 2008-08-27 22:55:45
|
kai-devel-ja に送り忘れたので再送します。 ごめんなさい。 > ちょっと力不足かなぁ.. とりあえず、trunk に kai_tcp_server の修正だけ入れてしまい 二回目のリリース後に検討するという事で如何でしょう? で、その際は、kai_tcp_server は、kai_log に依存させるつもりです。 2008/8/26 Takeru INOUE <tak...@gm...>: >>>ところが,SASL の出力ではこれができないので,段落単位で動作する "専用 grep" を作るか,ファイルに落としてから適当な処理をすることになります. >> >> まだ試してませんが、rb:grep/1 というのがあります。 >> 引数は、正規表現(文字列型)です。 > > rb で出来ることと出来ないことをまとめてみました. > ↓で正しいでしょうか? > > ・"INFO REPORT" の先頭 10件を出力. > > > rb:rescan([{type, info_msg}]). > > rb:show(). > > ・"INFO REPORT" の先頭 10件から,"abc" を含むものを出力. > > > rb:rescan([{type, info_msg}, {max, 10}]). > > rb:grep("abc"). > > ・"INFO REPORT" の "abc" を含むものから,先頭 10件を出力. > > Not available? > > ・"INFO REPORT" から,"abc" と "def" を含むものを出力. > > Not available? > > ちょっと力不足かなぁ.. > > >>> kai_tcp_server でのエラー出力に ?error マクロを使ってしまうと,kai.hrl への依存が残ってしまうように思いました. >> >> kai_tcp_server は、kai.hrl で定義されているレコード tcp_server_option にも依存しています。 > > あ,そうですね. > >> もし、kai.hrl と切り離すのであれば、tcp_server_option を kai_tcp_server.hrl へ移動し >> ?error などは、kai_error.hrl へ移動するのが良いかもしれません。 >> (kai_error.hrl も他のプロジェクトで汎用的に使えそう。少なくとも私は使うw;) > > では,そのへんの依存は残しても良しとしましょう. > >>> ちょっと神経質かなぁ.. >> >> 普通の感覚だと思います。 >> 言い訳ですが、tcp_server_option の件もあったので、あとで解決しようかなーと(。。;; >> >>>> 一旦、rb を再起動して rb:show/[0,1] や rb:list/[0,1] を評価して下さい。 >> >> これは、誤情報かも・・・。rb:rescan/[0,1] ってのが使えそう。 >> rb:grep/1 と共に検証してみます。 >> >> 2008/8/25 Takeru INOUE <tak...@gm...>: >>> 2008/8/25 masahito ikuta <coo...@gm...>: >>>> sasl 組み込みに関しての報告です。 >>>> >>>> https://kai.svn.sourceforge.net/svnroot/kai/branches/cooldaemon_embed_sasl/ >>>> >>>> 修正点は下記の通りです。 >>>> ・kai_log を error_logger に置き換え(kai_log は、一応削除しましたが、復活は可能です) >>>> ・kai.config を make で生成するように修正 (log ディレクトリの指定の為です) >>>> ・kai_tcp_server で accept に失敗した際は、sleep して再度 accept を実行するよう修正 >>> >>> kai_tcp_server でのエラー出力に ?error マクロを使ってしまうと,kai.hrl への依存が残ってしまうように思いました. >>> 独立したモジュールとして使えるようにするためには,kai_tcp_server については error_logger >>> を直接呼び出したほうがいいかもと思いました. >>> ちょっと神経質かなぁ.. >>> >>> もし,?error のまま残すのであれば,先のメールに書いた「SASL の段落出力が気にくわない」という問題に対して妥協案を出せるかもしれません. >>> エラー出力には ?error などのマクロなどを使うようにしておき,マクロ定義で error_logger と kai_log >>> を選択するようにする,という手もありますね. >>> とはいえ,SASL は長い年月を経て今の仕様になっているわけだから,段落出力を嫌う僕が少数派なのかなぁ. >>> >>>> error_logger でログをファイルに残す為 >>>> Getting Started を下記の通り修正する必要があります。 >>>> >>>>>% erl -pa ebin -config kai -kai n 1 -kai r 1 -kai w 1 >>>> ↓ >>>>>% erl -boot start_sasl +W w -pa ebin -config ebin/kai -kai n 1 -kai r 1 -kai w 1 >>>> >>>>>% erl -pa ebin -config kai -kai port 11011 -kai memcache_port 11211 >>>> ↓ >>>>>% erl -boot start_sasl +W w -pa ebin -config ebin/kai -kai port 11011 -kai memcache_port 11211 >>>> >>>> ちなみに、rb は、rb:start/0 を評価された時点でログファイルを読み込むので >>>> rb:start/0 評価後に、error_logger で info_msg 等をログファイルに書き込んだ場合は >>>> 一旦、rb を再起動して rb:show/[0,1] や rb:list/[0,1] を評価して下さい。 >>>> >>>> 最後に、少し気になる点ですが・・・ >>>> timer:tc(kai_hash, choose_bucket_randomly, []) が重い為 >>>> 私の環境では、テストに失敗してしまいます。 >>>> これは、今回の修正とは関係ないハズなのですが、念のため挙げておきます。 >>> >>> そうでしたか.. >>> ちょっと余裕のある値にしたつもりでしたが,もう少しゆとりを持たせておきます. >>> >>> -- >>> Takeru INOUE <tak...@gm...> >>> >> >> >> >> -- >> cooldaemon >> > > > > -- > Takeru INOUE <tak...@gm...> > -- cooldaemon |