#fluentd in_tailでマルチバイト文字が通らなくなった?(修正済み)

v0.10.19で修正されました
2
fujiwara @fujiwara

in_tailでaccess.log読み込んでみたら invalid byte sequence in US-ASCII とかいわれて、リファラに非ascii文字が入ってるからみたいなんだけど困るな #fluentd

2012-04-16 15:27:23
fujiwara @fujiwara

format /^(?<key>[^ ]+) (?<value>.*)$/ にUTF-8のログ食わせても invalid byte sequence in US-ASCII になるということは、in_tail マルチバイト対応してないのかな? #fluentd

2012-04-16 16:10:23
セコン @hotchpotch

@fujiwara $LANG ってなんですか?LANG が utf8 じゃないと Ruby のエンコーディング周り適切に設定してないとそうなると思います。

2012-04-16 16:12:43
fujiwara @fujiwara

@hotchpotch 手元のmacですが LANG=ja_JP.UTF-8 でした。実際は壊れたバイナリがログに混じったところで死なれると困るので、エンコーディングを仮定するわけにも行かない気がしています

2012-04-16 16:14:17
セコン @hotchpotch

@fujiwara なるほど。すると問題は扱えないエンコーディングが入っていたときの例外処理まわりぽいですね。

2012-04-16 16:17:06
oranie @oranie

僕も違うファイルだけどin_tailしたらずっと「 invalid byte sequence in US-ASCII 」と「closed stream」出てしまって読み込めなかった・・・。 #fluentd

2012-04-16 16:51:25
oranie @oranie

システムの文字コードはutf8なんだけどなぁ。日本語バリバリ入っているファイルだから?#fluentd

2012-04-16 16:52:41
oranie @oranie

あれ、fluentd-0.10.15だと発生しなかったけど、fluentd-0.10.17に上げたら「 invalid byte sequence in US-ASCII」出てくる! #fluentd

2012-04-16 17:04:54
oranie @oranie

さっきまでテスト環境はうまく行って、本番でデプロイしたらコケたので調べてみるとVerが違ってた。で、テスト環境をVerアップしたら「invalid byte sequence in US-ASCII」出るようになった。 #fluentd

2012-04-16 17:06:08
fujiwara @fujiwara

@oranie https://t.co/aN42UP6E このcommitで、sliceで正規表現使うところでencoding依存するようになったっぽいですね

2012-04-16 17:08:05
oranie @oranie

あっ、Ver間違い。fluentd-0.10.15→fluentd-0.10.18だった。#fluentd

2012-04-16 17:06:54
Sadayuki Furuhashi @frsyuki

Released fluentd v0.10.19! This release includes some major bug fixes for in_syslog and in_tail. #fluentd

2012-04-18 03:30:26
fujiwara @fujiwara

何となく原因の場所は分かったけどruby力が低すぎて修正方法が分からない

2012-04-16 17:12:38
fujiwara @fujiwara

in_tail直せた気がするけどruby力低すぎて正しいかどうかさっぱり

2012-04-16 19:20:14
セコン @hotchpotch

この件、@frsyuki さんがチェックしてくるはず!w QT @fujiwara: .@oranie @hotchpotch http://t.co/M5NZSOem in_tailの件、まとめつくらせていただきました

2012-04-16 19:54:26
fujiwara @fujiwara

@frsyuki @oranie ありがとうございます!ちょっと試したところでは大丈夫そうです

2012-04-17 10:37:16
oranie @oranie

@frsyuki @fujiwara 手元のテスト環境で0.10.18(in_tail→forawad)→0.10.18(foward→file)という形で読み込み、送信、受信、書き込みを行った所問題無しでした!パッチを外すと問題は再現しました。

2012-04-17 11:54:19
Sadayuki Furuhashi @frsyuki

Released fluentd v0.10.19! This release includes some major bug fixes for in_syslog and in_tail. #fluentd

2012-04-18 03:30:26
Sadayuki Furuhashi @frsyuki

Also this release fixed in_tail's "invalid byte sequence in US-ASCII" error. And also fixed in_syslog which was broken. #fluentd

2012-04-18 03:31:17