[pgsql-jp: 35667] pgpoolのfflush()におけるEAGAIN

Hidemi Yamashita hidemi-y @ hh.iij4u.or.jp
2005年 7月 6日 (水) 09:32:53 JST


山下と申します。

現状FreeBSD4.11、postgresql7.4.8でpgpoolを使用していますが、
大量のデータをやり取りする際にfflush()でEAGAINが発生しており
ます。この問題については pgsql-jp:35408 にて同様の問題が発生
している様子です。その際fflush() のリトライにより対処を試み
る案が石井様より提示されておりますが、色々と調べたところ問題
がありそうなのでポストさせて頂きました。

資料として http://lc.linux.or.jp/paper/lc2005/CP-08.pdf の
「5.6 nonblocking writeにおけるデータ消滅」にある記述では、

--以下引用
書き込みバッファ内のデータがfflushされて書き込まれる時に
EAGAINで失敗した場合、stdioの実装によってはまだ書き込まれて
いないデータが捨てられてしまう場合がある。
--引用ここまで

となっております。有効な解決方法が見付かりましたら、また御報
告させて頂きます。


--- 山下@ジャスパー・システム



pgsql-jp メーリングリストの案内