Detach secondary server when "kind mismatch error" is detected
authorTatsuo Ishii <ishii at sraoss.co.jp>
Sat, 3 Feb 2007 04:56:18 +0000 (04:56 +0000)
committerTatsuo Ishii <ishii at sraoss.co.jp>
Sat, 3 Feb 2007 04:56:18 +0000 (04:56 +0000)
ChangeLog
NEWS
child.c

index 8dde6f58ea2ca2fcc4a3f97f8389e4de00d8430a..5ff8f198853b73dea3512de7810a44eea4241c37 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -5,7 +5,8 @@
        * Support log_hostname(Tatsuo)
        * Show pgpool status in ps command(Tatsuo)
        * Fix bug with prepared query(Yoshiyuki)
-
+       * Detach secondary server when "kind mismatch error" is detected(Tatsuo)
+       
 2006-12-12    <y-asaba@sraoss.co.jp>
        * Version 3.1.2
        * Allow 0 weight(Tatsuo)
diff --git a/NEWS b/NEWS
index 9930a4eb69e759f9e2bf0e60418ebf94b89cc62e..ce683b9f2d83b9f8fcddbc44cb77824dc039b3b3 100644 (file)
--- a/NEWS
+++ b/NEWS
@@ -10,6 +10,9 @@
          o prepared object€ÎPHP PDO, Perl DBD-PgΓΓΈΓΓ‘Β»ΓΎΒ€ΓŽΒΌΒ«Γ†Β°Β²Γ²ΓŠΓΌΒ΅Β‘Γ‡Β½Β€ΓŽ
           Β₯ÐΒ₯°€ò½€À¡(Yoshiyuki)
 
+         o kind mismatch errorΒ€ΓŽΒ€ΓˆΒ€Β­Β€Γ‹masterΒ€Γ‡Β€ΓΒ€ΓŠΒ€Β―Β‘Β€secondaryΒ€Γ²Γ€ΓšΒ€ΓͺÎΒ₯€¹
+          Β€Γ¨Β€Β¦Β€Γ‹Β€Β·Β€ΒΏ(replication_stop_on_mismatch = true€Î€È€­)(Tatsuo)
+
 3.1.2(kawakawa) 2006/12/12
       o weight Β€Γ‹ 0 Β€Γ²Β»Γ˜Γ„Γͺ€Ç€­€ë€è€¦€Ë€·€¿(Tatsuo)
 
diff --git a/child.c b/child.c
index 101dd604ef627c8a48d0fd970be84a3811b33157..6b8b601044e33bd70c9277e821de3cbe5d8e18ea 100644 (file)
--- a/child.c
+++ b/child.c
@@ -425,9 +425,13 @@ void do_child(int unix_fd, int inet_fd)
                                        exit(1);
                                        break;
 
-                               /* fatal error occured. just exit myself... */
+                               /*
+                                * kind mismatch fatal error occured.
+                                * notice that we need to detach secondary server
+                                * and just exit myself...
+                                */
                                case POOL_FATAL:
-                                       notice_backend_error(1);
+                                       notice_backend_error(0);
                                        exit(1);
                                        break;