[pgpool-general: 2499] Re: wd_escalation_command exit code
Yugo Nagata
nagata at sraoss.co.jp
Wed Jan 29 11:42:18 JST 2014
On Tue, 28 Jan 2014 23:03:20 +0400
Sergey Arlashin <sergeyarl.maillist at gmail.com> wrote:
> Hi!
> This patch applied successfully. But now a new problem. When I start pgpool service I get a new interface eth0:0 with failover IP address assigned as expected. But when I stop pgpool service eth0:0 won't go down. It remains even after complete shutdown of pgpool.
Odd, I can't reproduce this. Are there any error message?
What ifconfig command do you use?
>
> I tried 3.3.2 without this patch and everything worked well.
>
>
>
>
> On Jan 27, 2014, at 5:18 AM, Yugo Nagata <nagata at sraoss.co.jp> wrote:
>
> > On Sat, 25 Jan 2014 15:31:44 +0400
> > Sergey Arlashin <sergeyarl.maillist at gmail.com> wrote:
> >
> >>
> >> On Jan 24, 2014, at 1:25 PM, Yugo Nagata <nagata at sraoss.co.jp> wrote:
> >>
> >>> On Tue, 21 Jan 2014 15:24:02 +0400
> >>> Sergey Arlashin <sergeyarl.maillist at gmail.com> wrote:
> >>>
> >>>> Great! Now it is working!
> >>>>
> >>>> pgpool[31903]: wd_escalation: escalation command failed. exit status: 1
> >>>>
> >>>> Thank you!
> >>>>
> >>>> Will this patch be included in 3.3.3 ?
> >>>>
> >>>> Also, what about failed if_up_cmd and further pgpool behaviour (my second message in the thread.) ?
> >>>
> >>> I attached the patch. Could you try this? In this fix, pgpool outputs a error
> >>> message for if_up_cmd failure. This patch should be applied after the previous
> >>> patch. This fix will be included in 3.3.3.
> >>
> >>
> >> Hi!
> >>
> >> I tried to apply the patch against both 3.3.1 and 3.3.2
> >>
> >> this is what I got:
> >
> > Hmm.. Could you try the attached patch to 3.3.2? This includes allthe fix
> > for escalation command and ifconfig errors.
> >
> >>
> >> node1:~/pgpool-orig# patch -p1 < /root/op/esc.patch
> >>
> >> patching file src/watchdog/wd_packet.c
> >> Hunk #1 succeeded at 954 (offset 23 lines).
> >>
> >> node1:~/pgpool-orig# patch -p1 < /root/op/ifup.patch
> >>
> >> patching file src/watchdog/wd_if.c
> >> Hunk #1 succeeded at 42 with fuzz 1 (offset 3 lines).
> >> Hunk #2 succeeded at 62 (offset 3 lines).
> >> Hunk #3 succeeded at 117 (offset 3 lines).
> >> patching file src/watchdog/wd_packet.c
> >> Hunk #1 succeeded at 654 (offset 23 lines).
> >> Hunk #2 succeeded at 939 (offset 23 lines).
> >> Hunk #3 FAILED at 932.
> >> Hunk #4 succeeded at 976 (offset 18 lines).
> >> 1 out of 4 hunks FAILED -- saving rejects to file src/watchdog/wd_packet.c.rej
> >>
> >>
> >> src/watchdog/wd_packet.c.rej:
> >>
> >>
> >> --- src/watchdog/wd_packet.c
> >> +++ src/watchdog/wd_packet.c
> >> @@ -932,22 +933,31 @@
> >> /* execute escalation command */
> >> if (strlen(pool_config->wd_escalation_command))
> >> {
> >> - int r;
> >> r = system(pool_config->wd_escalation_command);
> >> if (WIFEXITED(r))
> >> {
> >> if (WEXITSTATUS(r) == EXIT_SUCCESS)
> >> pool_log("wd_escalation: escalation command succeeded");
> >> else
> >> + {
> >> pool_error("wd_escalation: escalation command failed. exit status: %d", WEXITSTATUS(r));
> >> + has_error = true;
> >> + }
> >> }
> >> else
> >> + {
> >> pool_error("wd_escalation: escalation command exit abnormally");
> >> + has_error = true;
> >> + }
> >> }
> >>
> >> /* interface up as delegate IP */
> >> if (strlen(pool_config->delegate_IP) != 0)
> >> - wd_IP_up();
> >> + {
> >> + r = wd_IP_up();
> >> + if (r == WD_NG)
> >> + has_error = true;
> >> + }
> >>
> >> /* set master status to the wd list */
> >> wd_set_wd_list(pool_config->wd_hostname, pool_config->port,
> >>
> >>
> >>>
> >>> In addition, I consider that pgpool shoud go to down status when if_up_cmd fails,
> >>> since this is worthless as a member of watchdog cluster. I'll make this fix for
> >>> either 3.3.3 or 3.4.0.
> >>>
> >>>
> >>
> >> Sounds reasonable.
> >>
> >>
> >>
> >>
> >
> >
> > --
> > Yugo Nagata <nagata at sraoss.co.jp>
> > <escalation_error_all.patch>
>
--
Yugo Nagata <nagata at sraoss.co.jp>
More information about the pgpool-general
mailing list