[pgcluster: 71] packet.pg_data initialization and \n in elog()

Jun Kuriyama kuriyama @ imgsrc.co.jp
2004年 1月 26日 (月) 17:23:05 JST


 こちらの初歩的なミスで rsync によるリカバリができなかったので、デバッ
グ出力を付けたりしながら追っていたのですが、rsync が使えなかった時に
"DEBUG:  1st rsync error" としか言ってくれないのがちょっと辛いところで
した。

# ちなみに該当マシンにはまだ rsync がインストールされていなかった、と
# いうひどいミス :-(

 recovery_rsync() の中で失敗したときに、どの段階で失敗したのかを
Debug_pretty_print の時には表示してくれたりすると問題を追跡しやすかっ
たりするのですが、どうでしょう?

# 単純作業でしょうから、なんだったら作ってパッチ投げます


 また、パケットの表示で、pgreplicate 側で受けたパケットに pg_data が
表示されないのであれ? と思ったのですが、これは pgreplicate 側では使
わないデータだから渡してない、という理解でいいのでしょうか? デバッグ
途中につい埋めてパケット投げるようにしてみたんですが、結局ここが原因で
はなかったのでまあいらないデータを渡すのも冗長なのかな。pgreplicate の
表示が一式揃うのが嬉しいだけかも(添付パッチの前半)。

 あと、Debug_pretty_print で見ていると、elog() 関数は末尾に \n が入っ
ていない文字列を期待しているように見えます。添付パッチの最後で
show_recovery_packet() から \n を取ってみました。なんか他にもありそう
なので、grep してえいやっ、と削ってしまった方がいいかもしれません。


 以上、いろいろ細かいところを失礼しました……。


-- 
Jun Kuriyama <kuriyama @ imgsrc.co.jp> // IMG SRC, Inc.
             <kuriyama @ FreeBSD.org> // FreeBSD Project



pgcluster メーリングリストの案内