Release 3.3.14
pgpool-II 4.1.0 Documentation | |||
---|---|---|---|
Prev | Up | Appendix A. Release Notes | Next |
Release Date: 2017-03-17
A.88.1. Bug fixes
-
Add "Wants=network.target" to pgpool.service file. ( bug 294 ) (Bo Peng)
-
Fix pcp_promote_node bug that fails promoting node 0. (Yugo Nagata)
The master node could not be promoted by pcp_promote_node with the following error;
FATAL: invalid pgpool mode for process recovery request DETAIL: specified node is already primary node, can't promote node id 0
In streaming replication mode, there is a case that Pgpool-II regards the status of primary node as "standby" for some reasons, for example, when pg_ctl promote is executed manually during Pgpool-II is running, in which case, it seems to Pgpool-II that the primary node doesn't exist.
This status mismatch should be fixe by pcp_promote_node, but when the node is the master node (the first alive node), it fails as mentioned above.
The reason is as following. before changing the status, pcp_promote_node checks if the specified node is already primary or not by comparing the node id with PRIMARY_NODE_ID. However, if the primary doesn't exist from Pgpool-II's view, PRIMARY_NODE_ID is set to 0, which is same as MASTER_NODE_ID. Hence, when the master node is specified to be promoted, pcp_promote_node is confused that this node is already primary and doesn't have to be promoted, and it exits with the error.
To fix this, pcp_promote_node should check the node id by using REAL_PRIMARY_NODE_ID, which is set -1 when the primary doesn't exist, rather than PRIMARY_NODE_ID.
-
Add the latest release note link to README file.(Bo Peng)
-
Fix to release shared memory segments when Pgpool-II exits. ( bug 272 ) (Tatsuo Ishii)
-
Fix for [pgpool-general: 5315] pg_terminate_backend (Muhammad Usama)
-
Adding the missing ExecStop and ExecReload commands to the systemd service configuration file. (Muhammad Usama)
-
Fixing stack smashing detected. ( bug 280 ) (Muhammad Usama)
It was a buffer overflow in
wd_get_cmd
function -
Remove pool_log/pool_error calls from signal handlers. (Tatsuo Ishii)
See [pgpool-hackers: 1950] for details.
-
Fix for 0000249: watchdog sometimes fails de-escalation. ( bug 249 ) (Muhammad Usama)
The solution is to use the
waitpid()
system call without WNOHANG option. -
Fix connection_life_time broken by authentication_timeout. (Yugo Nagata)
-
Fix authentication timeout that can occur right after client connecttions. (Yugo Nagata)