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

Jun Kuriyama pgcluster@ml.postgresql.jp
Mon, 26 Jan 2004 17:23:05 +0900


 こちらの初歩的なミスで 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