[groonga-dev,01579] fluent-plugin-groongaでスレーブにコマンドが送られない

Back to archive index

hirano_verf****@mail***** hirano_verf****@mail*****
2013年 8月 7日 (水) 20:20:15 JST


お世話になっております。平野と申します。 

http://groonga.org/fluent-plugin-groonga/ja/file.constitution.html を参考にfluent-plugin-groongaを使い始めています。
「中規模のシステム」と同じ構成をとっていまして、マスターgroongaサーバー側にfluentdを置いています。
下記のfluentd設定で動作させるとマスターにはtable_createコマンドが飛ぶのですが、スレーブは無反応です。

====================================
<source>
  type groonga
  protocol gqtp
  port 10000
  real_host 192.168.1.10
  real_port 10041
</source>
<match groonga.command.*>
  type copy
  <store>
    type groonga
    protocol gqtp
    host 192.168.1.20
    port 10141
    flush_interval 1s
  </store>
  <store>
    type groonga
    protocol gqtp
    host 192.168.1.21
    port 10141
    flush_interval 1s
  </store>
</match>
====================================


また、fluentdのログには下記メッセージが繰り返し出力されます。
====================================
2013-08-07 15:01:16 +0900 [warn]: fluent/output.rb:327:rescue in try_flush: temporarily failed to flush the buffer. next_retry=2013-08-07 15:01:17 +0900 error_class="RuntimeError" error="no watchers for this loop" instance=249001220
  2013-08-07 15:01:16 +0900 [warn]: fluent/output.rb:328:rescue in try_flush: /usr/local/lib/ruby/gems/1.9.1/gems/cool.io-1.1.0/lib/cool.io/loop.rb:92:in `run'
  2013-08-07 15:01:16 +0900 [warn]: fluent/output.rb:328:rescue in try_flush: /usr/local/lib/ruby/gems/1.9.1/gems/fluent-plugin-groonga-1.0.1/lib/fluent/plugin/out_groonga.rb:143:in `send'
  2013-08-07 15:01:16 +0900 [warn]: fluent/output.rb:328:rescue in try_flush: /usr/local/lib/ruby/gems/1.9.1/gems/fluent-plugin-groonga-1.0.1/lib/fluent/plugin/out_groonga.rb:73:in `send_command'
  2013-08-07 15:01:16 +0900 [warn]: fluent/output.rb:328:rescue in try_flush: /usr/local/lib/ruby/gems/1.9.1/gems/fluent-plugin-groonga-1.0.1/lib/fluent/plugin/out_groonga.rb:62:in `block in write'
  2013-08-07 15:01:16 +0900 [warn]: fluent/output.rb:328:rescue in try_flush: /usr/local/lib/ruby/gems/1.9.1/gems/fluentd-0.10.35/lib/fluent/plugin/buf_memory.rb:64:in `feed_each'
  2013-08-07 15:01:16 +0900 [warn]: fluent/output.rb:328:rescue in try_flush: /usr/local/lib/ruby/gems/1.9.1/gems/fluentd-0.10.35/lib/fluent/plugin/buf_memory.rb:64:in `msgpack_each'
  2013-08-07 15:01:16 +0900 [warn]: fluent/output.rb:328:rescue in try_flush: /usr/local/lib/ruby/gems/1.9.1/gems/fluent-plugin-groonga-1.0.1/lib/fluent/plugin/out_groonga.rb:59:in `write'
  2013-08-07 15:01:16 +0900 [warn]: fluent/output.rb:328:rescue in try_flush: /usr/local/lib/ruby/gems/1.9.1/gems/fluentd-0.10.35/lib/fluent/buffer.rb:290:in `write_chunk'
  2013-08-07 15:01:16 +0900 [warn]: fluent/output.rb:328:rescue in try_flush: /usr/local/lib/ruby/gems/1.9.1/gems/fluentd-0.10.35/lib/fluent/buffer.rb:274:in `pop'
  2013-08-07 15:01:16 +0900 [warn]: fluent/output.rb:328:rescue in try_flush: /usr/local/lib/ruby/gems/1.9.1/gems/fluentd-0.10.35/lib/fluent/output.rb:294:in `try_flush'
  2013-08-07 15:01:16 +0900 [warn]: fluent/output.rb:328:rescue in try_flush: /usr/local/lib/ruby/gems/1.9.1/gems/fluentd-0.10.35/lib/fluent/output.rb:121:in `run'
====================================

[環境]  
CentOS 5.5(x86_64)  
ruby 1.9.3p392
groonga 3.0.1 

[gem](抜粋)
cool.io (1.1.0)
fluent-plugin-groonga (1.0.1)
fluentd (0.10.35)
gqtp (1.0.3)


試行錯誤しまして、/usr/local/lib/ruby/gems/1.9.1/gems/fluent-plugin-groonga-1.0.1/lib/fluent/plugin/out_groonga.rb に手を加えたら動作するようになりました。
====================================
% diff out_groonga.rb out_groonga.rb.orig
137d136
<                                      :address => @host,
====================================

このアプローチが正しいのかわかりませんが、ひとまずご報告させていただきます。




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