<div>Please find attached file, It contains more feedback from customer. Thanks.</div><div><br></div>Best Regards,<div>Asif Naeem<br><br><div class="gmail_quote">On Sun, Apr 28, 2013 at 3:25 PM, Asif Naeem <span dir="ltr"><<a href="mailto:anaeem.it@gmail.com" target="_blank">anaeem.it@gmail.com</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div>Hi Tatsuo,<br><br><div>Please find the attach file, it contains pgpool log information with details. Thanks.<br><br>
Best Regards,<br>Asif Naeem</div><div><br></div><div class="gmail_quote"><div class="im">On Mon, Apr 22, 2013 at 3:34 AM, Tatsuo Ishii <span dir="ltr"><<a href="mailto:ishii@postgresql.org" target="_blank">ishii@postgresql.org</a>></span> wrote:<br>
</div><div><div class="h5"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Can you please show pgpool log?<br>
--<br>
Tatsuo Ishii<br>
SRA OSS, Inc. Japan<br>
English: <a href="http://www.sraoss.co.jp/index_en.php" target="_blank">http://www.sraoss.co.jp/index_en.php</a><br>
Japanese: <a href="http://www.sraoss.co.jp" target="_blank">http://www.sraoss.co.jp</a><br>
<div><br>
> Hi,<br>
><br>
> There is unexpected behavior in pgpool2 that seems to be a bug. Please find<br>
> the details as following i.e.<br>
><br>
> Phenomenon<br>
><br>
>> pgpool2 configuration option "follow_master_command" special character %H<br>
>> (Hostname of the new master node) is not working as expected<br>
>> In master slave mode after failover, 2nd node become new master but got<br>
>> unexpected hostname (via %H). Please find attached pgpool.conf for details.<br>
><br>
><br>
> Versions<br>
><br>
>> OS version: RHEL - 64<br>
>> pgpool version: pgpool-II version 3.2.1 (namameboshi)<br>
><br>
><br>
</div>> *Details/Observations* :-<br>
<div><div>><br>
>> At Start<br>
><br>
>> node_id | hostname | port | status | lb_weight | role<br>
>> ---------+----------+------+--------+-----------+---------<br>
>> 0 | dmp02 | 5444 | 2 | 0.333333 | primary<br>
>> 1 | dmp03 | 5444 | 2 | 0.333333 | standby<br>
>> 2 | dmp04 | 5444 | 2 | 0.333333 | standby<br>
>><br>
><br>
><br>
>> Failover arguments when the user stopped DMP02.<br>
><br>
>> 2013îN 2åé 8ì˙ ã‡ójì˙ 12:44:12 JST<br>
><br>
> FAILED_NODE_ID =0<br>
>> FAILED_NODE_NAME=dmp02<br>
>> FAILED_NODE_PORT=5444<br>
>> FAILED_NODE_DATA=/opt/PostgresPlus/9.2AS/data<br>
>> NEW_MASTER_ID =1<br>
>> OLD_MASTER_ID =0<br>
>> NEW_MASTER_NAME =dmp03<br>
>> OLD_PRIMARY_ID =0<br>
>> NEW_MASTER_DATA =/opt/PostgresPlus/9.2AS/data<br>
>> 0<br>
>><br>
><br>
><br>
>> Then, these arguments told user that the master node has been changed<br>
><br>
>> 2013îN 2åé 8ì˙ ã‡ójì˙ 12:44:13 JST<br>
>> FAILED_NODE_ID =0<br>
>> FAILED_NODE_NAME=dmp02<br>
>> FAILED_NODE_PORT=5444<br>
>> FAILED_NODE_DATA=/opt/PostgresPlus/9.2AS/data<br>
>> NEW_MASTER_ID =1<br>
>> OLD_MASTER_ID =0<br>
>> NEW_MASTER_NAME =dmp03<br>
>> OLD_PRIMARY_ID =0<br>
>> NEW_MASTER_DATA =/opt/PostgresPlus/9.2AS/data<br>
>> 2013îN 2åé 8ì˙ ã‡ójì˙ 12:44:17 JST<br>
>> FAILED_NODE_ID =2<br>
>> FAILED_NODE_NAME=dmp04<br>
>> FAILED_NODE_PORT=5444<br>
>> FAILED_NODE_DATA=/opt/PostgresPlus/9.2AS/data<br>
>> NEW_MASTER_ID =1<br>
>> OLD_MASTER_ID =0<br>
</div></div>>> NEW_MASTER_NAME =dmp02 *<--- *** The master name is unexpected ****<br>
<div><div>>> OLD_PRIMARY_ID =0<br>
>> NEW_MASTER_DATA =/opt/PostgresPlus/9.2AS/data<br>
>><br>
><br>
><br>
>> node_id | hostname | port | status | lb_weight | role<br>
>> ---------+----------+------+--------+-----------+---------<br>
>> 0 | dmp02 | 5444 | 2 | 0.333333 | standby<br>
>> 1 | dmp03 | 5444 | 2 | 0.333333 | primary<br>
>> 2 | dmp04 | 5444 | 2 | 0.333333 | standby<br>
>><br>
><br>
><br>
>> pid | usesysid | usename | application_name | client_addr |<br>
>> client_hostname | client_port | backend_start | state<br>
>> | sent_location | write_location | flush_location | replay_location |<br>
>> sync_priority | sync_state<br>
>><br>
>> -------+----------+--------------+------------------+---------------+-----------------+-------------+----------------------------------+-----------+---------------+----------------+----------------+-----------------+---------------+------------<br>
>> 20641 | 10 | enterprisedb | dmp02 | 172.24.217.23 |<br>
>> | 16948 | 08-FEB-13 17:39:44.078173 +09:00 | streaming |<br>
>> 14/C50000E0 | 14/C50000E0 | 14/C50000E0 | 14/C50000E0 |<br>
>> 0 | async<br>
>> (1 çs)<br>
>><br>
><br>
> There is one pg_stat_replication record because dmp04 is connecting to dmp02<br>
><br>
> This phenomenon is reproduced by user. What we need to do is just make the<br>
> scripts like follow_master.sh and launch pgpool process with -F [path to<br>
> pcp.conf].<br>
><br>
> 1. Before failover<br>
><br>
>> -bash-3.2$ psql -h 10.1.1.187 -p 9999 -c "show pool_nodes"<br>
>> node_id | hostname | port | status | lb_weight | role<br>
>> ---------+----------+------+--------+-----------+---------<br>
>> 0 | slave1 | 5444 | 2 | 0.333333 | primary<br>
>> 1 | slave2 | 5444 | 2 | 0.333333 | standby<br>
>> 2 | slave3 | 5444 | 2 | 0.333333 | standby<br>
>> (3 行)<br>
><br>
><br>
> 2. We stopped slave 1 node with "pg_ctl -D /data -m immediate stop".<br>
><br>
> 3. After failover<br>
><br>
>> -bash-3.2$ psql -h 10.1.1.187 -p 9999 -c "show pool_nodes"<br>
>> node_id | hostname | port | status | lb_weight | role<br>
>> ---------+----------+------+--------+-----------+---------<br>
>> 0 | slave1 | 5444 | 2 | 0.333333 | standby<br>
>> 1 | slave2 | 5444 | 2 | 0.333333 | primary<br>
>> 2 | slave3 | 5444 | 2 | 0.333333 | standby<br>
>> (3 行)<br>
><br>
><br>
> 4. Then user got output like below after failover that is not expected that<br>
> is present at the end of follow_master.sh.log i.e.<br>
><br>
>> NEW_MASTER_NAME =slave1<br>
><br>
><br>
> [root@master1 ~]# cat /tmp/failover.sh.log<br>
><br>
>> 2013年 3月 13日 水曜日 11:36:28 JST<br>
>> FAILED_NODE_ID =0<br>
>> FAILED_NODE_NAME=slave1<br>
>> FAILED_NODE_PORT=5444<br>
>> FAILED_NODE_DATA=/opt/PostgresPlus/9.2AS/data<br>
>> NEW_MASTER_ID =1<br>
>> OLD_MASTER_ID =0<br>
>> NEW_MASTER_NAME =slave2<br>
>> OLD_PRIMARY_ID =0<br>
>> NEW_MASTER_DATA =/opt/PostgresPlus/9.2AS/data<br>
>> 0<br>
>><br>
> [root@master1 ~]# cat /tmp/follow_master.sh.log<br>
><br>
>> 2013年 3月 13日 水曜日 11:36:30 JST<br>
>> FAILED_NODE_ID =0<br>
>> FAILED_NODE_NAME=slave1<br>
>> FAILED_NODE_PORT=5444<br>
>> FAILED_NODE_DATA=/opt/PostgresPlus/9.2AS/data<br>
>> NEW_MASTER_ID =1<br>
>> OLD_MASTER_ID =0<br>
>> NEW_MASTER_NAME =slave2<br>
>> OLD_PRIMARY_ID =0<br>
>> NEW_MASTER_DATA =/opt/PostgresPlus/9.2AS/data<br>
>> 2013年 3月 13日 水曜日 11:36:32 JST<br>
>> FAILED_NODE_ID =2<br>
>> FAILED_NODE_NAME=slave3<br>
>> FAILED_NODE_PORT=5444<br>
>> FAILED_NODE_DATA=/opt/PostgresPlus/9.2AS/data<br>
>> NEW_MASTER_ID =1<br>
>> OLD_MASTER_ID =0<br>
</div></div>>> NEW_MASTER_NAME =*slave1<br>
>> *OLD_PRIMARY_ID =0<br>
<div><div>>> NEW_MASTER_DATA =/opt/PostgresPlus/9.2AS/data<br>
><br>
><br>
> Please guide. Thanks.<br>
><br>
> Best Regards,<br>
> Asif Naeem<br>
</div></div></blockquote></div></div></div><br></div>
</blockquote></div><br></div>