[groonga-dev,02767] Re: [ANN] Groonga 4.0.5

Back to archive index

杉本涼 sugry****@gmail*****
2014年 9月 12日 (金) 22:16:03 JST


杉本です。

Heroku用GroongaのMessagePack対応できました!

↓が試しに作成した、MessagePack対応のGroongaです。
https://github.com/sugryo/groonga/releases/tag/v4.0.5

たぶん、MessagePackに対応していると思うのですが、
心配なので、試しにやってもらえますか?
本当に対応したかを確認した方法は、↓です。

% git clone https://github.com/okamuuu/test-heroku-groonga
% cd test-heroku-groonga
% heroku create --buildpack
https://codon-buildpacks.s3.amazonaws.com/buildpacks/sugryo/groonga.tgz
% git push heroku master
% heroku run '~/vendor/groonga/bin/groonga ~/groonga/database status
--output_type json'
% heroku run '~/vendor/groonga/bin/groonga ~/groonga/database status
--output_type msgpack'

僕が作成した、buildpackじゃないと僕が試しに作成したGroongaを使ってくれないので、
僕のbuildpackを使っています。

https://github.com/okamuuu/test-heroku-groonga/blob/master/README.mdには、
最後のコマンドを実行すると、MessagePackに対応していないため、
何も返ってこないらしいのですが、僕の環境では、文字かけしつつも返ってくるので、
対応していると思いました。

↓は、自分の環境で実行した結果です
% heroku run '~/vendor/groonga/bin/groonga ~/groonga/database status
--output_type json'
Running `~/vendor/groonga/bin/groonga ~/groonga/database status
--output_type json` attached to terminal... up, run.3107
[[0,1410515834.97844,0.000130653381347656],{"alloc_count":141,"starttime":1410515834,"uptime":0,"version":"4.0.5","n_queries":0,"cache_hit_rate":0.0,"command_version":1,"default_command_version":1,"max_command_version":2}]

% heroku run '~/vendor/groonga/bin/groonga ~/groonga/database status
--output_type msgpack'
Running `~/vendor/groonga/bin/groonga ~/groonga/database status
--output_type msgpack` attached to terminal... up, run.5128
���A� ����c�? ���alloc_count̍�starttime�T
�uptime�version�4.0.5�n_queries�cache_hit_rate��command_version
�default_command_version �max_command_version


2014年8月31日 19:48 Kouhei Sutou <kou****@clear*****>:

> 須藤です。
>
> In <CAH9Y0y48qbmw1fQxiGeCjY9BP=d_mSg_akCLb****@mail*****>
>   "[groonga-dev,02720] Re: [ANN] Groonga 4.0.5" on Sat, 30 Aug 2014
> 10:20:37 +0900,
>   杉本涼 <sugry****@gmail*****> wrote:
>
> > ↓が実行した結果です。
> > tar: Record size = 16 blocks
> > vendor/groonga/
> > vendor/groonga/lib/
> > vendor/groonga/lib/libgroonga.so
> > vendor/groonga/lib/libgroonga.la
> > vendor/groonga/lib/pkgconfig/
> > vendor/groonga/lib/pkgconfig/groonga.pc
> > vendor/groonga/lib/libgroonga.so.0
> > vendor/groonga/lib/libgroonga.so.0.0.0
> ...
> >
> > MessagePackのライブラリーが含まれていないと思うのですがどうですか?
>
> はい、含まれていないですね。
>
> 少し整理しましょうか。
>
> Heroku用GroongaがMessagePackに対応しているためには次の状態に
> なっている必要があります。
>
>   1. libgroonga.soがlibmsgpack.so
> <http://libgroonga.xn--solibmsgpack-433k.so>をリンクしている
>   2. tar.xzにlibgroonga.so <http://tar.xn--xzlibgroonga-ng4k.so>
> もlibmsgpack.soも含まれている
>   3. LD_LIBRARY_PATHのパスの中にlibgroonga.soもlibmsgpack.so
> <http://libgroonga.xn--solibmsgpack-6o4k.so>
>      も含まれている
>
> ここまでが期待する状態(ゴール、目指すところ)です。
>
> で、それぞれ次のように確認できます。
>
> 1.はlddを使うと確認できます。
>
>   % ldd vendor/groonga/lib/libgroonga.so
>
> この結果の中にlibmsgpack.soが含まれていればlibgroonga.so
> <http://libmsgpack.xn--solibgroonga-503ksd7rlftjjjc9843p.so>は
> libmsgpack.soをリンクしています。
>
> 2.は今回やったようにtar xvfの結果などで確認できます。
>
> 3.もlddで確認できます。LD_LIBRARY_PATHに.soが含まれていない
>>
>   % ldd vendor/groonga/lib/libgroonga.so
>
> の結果の中で、「not found」と言われます。
>
> あるいは、実際にlibgroonga.soを使ったアプリケーションを実行し
> てエラーにならないかを確認するという方法もあります。.soが見
> つからないとlibgroonga.soを読み込もうとしたときにエラーにな
> ります。
>
>
> ここまでが期待する状態の確認方法(テスト方法)です。
> これで期待する状態を確認できたらOK!ということですね。
>
> たぶん、1.はすでに解決しているはずです。
>
>
> なお、1.と2.はheroku-groonga-builderの範囲で、3.は
> heroku-buildpack-groongaの範囲です。
>
>
> で、2.と3.の実現方法案ですが、私は2つの方法があると思います。
> (試していないので抜けがあるかもしれません。)
>
>   a. MessagePackのconfigureの--prefixをGroongaと同じ
>      (vendor/groonga)にする
>   b.
>     * tar cJfするときにmsgpack_prefixも指定してtar.xzに
>       vendor/msgpack以下も含める
>     * heroku-buildpack-groognaを変更してvendor/msgpack/lib/
>       もLD_LIBRARY_PATHに加える
>
> a.の方は変更点が少ないのが利点です。
>
> b.の方はGroonga関連のファイルとMessagePack関連のファイルを分
> けているのでそれぞれを別個に扱えるというのが利点です。
>
>
> 個人的にはどちらでもよいと思っています。作り手の意図次第でど
> ちらを選んでもよいということですね。私は、a.で作られていたら、
> 作り手の意図は「MessagePackもGroonga(を動かすために必要なも
> の)の一部と捉えている」と感じ、b.ならそうでないと感じます。
>
>
> 整理するとこんな感じな気がします。解決できそうでしょうか!?
>
>
>
> --
> 須藤 功平 <kou****@clear*****>
> 株式会社クリアコード <http://www.clear-code.com/>
>
> Groongaベースの全文検索システムを総合サポート:
>   http://groonga.org/ja/support/
> パッチ採用 - プログラミングが楽しい人向けの採用プロセス:
>   http://www.clear-code.com/recruitment/
> コードリーダー育成支援 - 自然とリーダブルコードを書くチームへ:
>   http://www.clear-code.com/services/code-reader/
>
> _______________________________________________
> groonga-dev mailing list
> groon****@lists*****
> http://lists.sourceforge.jp/mailman/listinfo/groonga-dev
>



groonga-dev メーリングリストの案内
Back to archive index