Bo Peng [Thu, 21 Jan 2021 07:46:05 +0000 (16:46 +0900)]
Doc: fix indent.
Bo Peng [Thu, 21 Jan 2021 07:00:40 +0000 (16:00 +0900)]
Fix some variable names in follow_primary.sh.sample.
Fix some variable names of "main" to "primary" which should be used in streaming replication mode.
Tatsuo Ishii [Wed, 20 Jan 2021 08:17:02 +0000 (17:17 +0900)]
Enhance follow_primary.sh generation in pgpool_setup.
In the generated follow primary script pcp_recovery_node was used to
sync standby with new primary node. However it is sufficient in
follow primary process to just restart standby with new recovery
configuration redirected to the new primary because we use the
"latest" timeline in the configuration file.
Moreover, from PostgreSQL 13, even restarting standby is not
needed. Just changing the recovery configuration and reloading is
enough. With these changes it is expected that the follow primary
process could be significantly faster than before.
Tatsuo Ishii [Sat, 16 Jan 2021 10:15:57 +0000 (19:15 +0900)]
Doc: add explanation about the shared memory required by shared relation cache.
Add description to "Memory requirement" section so that in Pgpool-II
4.1 and after require additional shared memory for shared relation
cache.
Muhammad Usama [Wed, 13 Jan 2021 10:55:28 +0000 (15:55 +0500)]
Adjusting the allowed range and default value for log_rotation_size
Tatsuo Ishii [Wed, 13 Jan 2021 09:49:51 +0000 (18:49 +0900)]
Fix error while allocating shared memory.
If num_init_children * max_pool is huge, pool_coninfo_size() failed to
calculate the size of required shared memory because the data type
used for the variable to store shared memory size was int and it
overflows for too large shared memory size. To fix this change
pool_coninfo_size() to size_t and use appropriate size_t for the
variable used within the function.
Also fix to use proper format qualifier in
pool_shared_memory_create().
Bo Peng [Wed, 13 Jan 2021 00:18:56 +0000 (09:18 +0900)]
Doc: fix typos.
Tatsuo Ishii [Tue, 12 Jan 2021 01:40:06 +0000 (10:40 +0900)]
Fix follow_primary script creation in pgpool_setup.
There were some confusions in variable names due to recent language
fix. This fixes some of "main" to "primary" which should be used in
streaming replication mode.
Tatsuo Ishii [Fri, 1 Jan 2021 02:29:04 +0000 (11:29 +0900)]
Fix bug child_max_connections is not respected if ERROR occurs.
When frontend aborts, the counter for child_max_connections is rewound
because ereport(ERROR) issues long jump. Fix is declaring the variable
with volatile qualifier. This is a long standing bug, probably since
child_max_connections was introduced.
Bo Peng [Sun, 27 Dec 2020 12:44:00 +0000 (21:44 +0900)]
Doc: fix typos.
Bo Peng [Sun, 27 Dec 2020 12:24:54 +0000 (21:24 +0900)]
Doc: fix typos in docs.
Tatsuo Ishii [Sat, 26 Dec 2020 05:41:27 +0000 (14:41 +0900)]
Doc: fix a few typos in Japanese release notes.
Muhammad Usama [Fri, 25 Dec 2020 18:25:10 +0000 (23:25 +0500)]
Doc: few typo fixes.
Tatsuo Ishii [Wed, 23 Dec 2020 11:41:23 +0000 (20:41 +0900)]
Doc: fix typo in the 4.2.1 release note.
Bo Peng [Wed, 23 Dec 2020 06:14:36 +0000 (15:14 +0900)]
Prepare 4.2.1.
Bo Peng [Wed, 23 Dec 2020 06:14:20 +0000 (15:14 +0900)]
Doc: update doc version.
Bo Peng [Wed, 23 Dec 2020 06:09:36 +0000 (15:09 +0900)]
Doc: add 4.2.1 release note.
Bo Peng [Tue, 22 Dec 2020 12:10:28 +0000 (21:10 +0900)]
Change all of the pgpool.conf samples socket path to "/var/run/postgresql".
Bo Peng [Tue, 22 Dec 2020 04:52:01 +0000 (13:52 +0900)]
Doc: Add missing raw mode to "5.3. Clustering mode" and fix typos.
Bo Peng [Tue, 22 Dec 2020 02:23:49 +0000 (11:23 +0900)]
Doc: fix indent.
Bo Peng [Sun, 20 Dec 2020 15:45:41 +0000 (00:45 +0900)]
Fix incorrect heartbeat related results of "pcp_pool_status" and "SHOW POOL_STATUS" commands.
Tatsuo Ishii [Fri, 18 Dec 2020 07:01:13 +0000 (16:01 +0900)]
Doc: fix installation tips section example.
Previous commit was not sufficient.
Tatsuo Ishii [Fri, 18 Dec 2020 06:54:48 +0000 (15:54 +0900)]
Doc: fix usage of firewall-cmd in the installation tips section.
firewall-cmd opened unnecessary ports in the example.
Muhammad Usama [Mon, 14 Dec 2020 10:41:37 +0000 (15:41 +0500)]
Use single shared memory segment for all shared variables in Pgpool parent process
Shared memory segments is a limited resource and opening too many segments
should be avoided.
Also the default limit for on some operating systems like
OS/X (kern.sysv.shmmni: 32) is very small that you have to increase
shmmni just to run Pgpool-II.
So to avoid creating too many shared memory segments, the commit creates a
single shared memory segment big enough to hold all required shared memory
and put all shared memory variables within that segment one after the other.
Tatsuo Ishii [Tue, 15 Dec 2020 10:38:04 +0000 (19:38 +0900)]
Fix segfault when ALWAYS_PRIMARY is set but DISALLOW_TO_FAILOVER.
If a primary node (for example node 0) has ALWAYS_PRIMARY but does
have DISALLOW_TO_FAILOVER, segfault happens in following step:
1) node 0 stops
2) failover happens. all children restart. The primary node is still 0
because ALWAYS_PRIMARY is set.
2) node 0 starts and it becomes online by using pcp_attach_node.
3) failback process is executed but child process do not restart.
4) child process accesses node 0 because Req_info->primary_node_id is
0 but connection to node 0 does not exist and this causes segfault.
To fix this, do additional check to make sure that failback node is
not former primary node. If it is, do full restart of child process.
Per bug 672.
Bo Peng [Tue, 15 Dec 2020 07:58:06 +0000 (16:58 +0900)]
Doc: fix missing configuration example of clustering mode.
Tatsuo Ishii [Tue, 15 Dec 2020 01:50:04 +0000 (10:50 +0900)]
Doc: more language fixes.
Muhammad Usama [Mon, 14 Dec 2020 14:50:08 +0000 (19:50 +0500)]
Fix for inconsistent watchdog node_id problem in wd_cli
In watchdog node_id = 0 was reserved for local watchdog node
before 'simplifying watchdog configuration' patch, Now the watchdog
node IDshave become consistent across the cluster, but a couple of
places in the code were still expecting that node_id = 0 would
mean local node.
Tatsuo Ishii [Sun, 13 Dec 2020 08:08:08 +0000 (17:08 +0900)]
Fix "no watchdog configuration for local pgpool node" error.
If watchdog is disabled and wd_port is not defined (thus it's 0, which
is the default config value), the error occurred while checking
configured watchdog nodes. If watchdog is disabled, the check should
not be performed. Back patch to V4.2 stable when watchdog local node
was introduced.
Tatsuo Ishii [Sun, 13 Dec 2020 02:29:36 +0000 (11:29 +0900)]
Fix segfault in child pgpool process in certain failback case.
When previous primary node id is 0 and then it went down, restarted,
re-attached without promotion. Then existing child process loses
connection slot to node 0 and keeps on using it when node 0 comes
back. This could result in segfault later on in the child process
because there's no connection to node id 0. In summary we need to
restart all pgppol children in this case.
Per bug 672.
Muhammad Usama [Tue, 8 Dec 2020 10:00:11 +0000 (15:00 +0500)]
Delete any pre-existing watchdog command socket file at startup
Abnormal termination of Pgpool leaves behind the dangling socket files
and prevent Pgpool-II from starting up.
The solution is to delete any pre-existing watchdog command socket
file before binding a watchdog command socket.
Patch provided by Masaya Kawamoto
Tatsuo Ishii [Fri, 4 Dec 2020 08:04:30 +0000 (17:04 +0900)]
Fix compiler error on FreeBSD.
Per bug report 670.
https://www.pgpool.net/mantisbt/view.php?id=670
Patch provided by ajs.
Bo Peng [Wed, 2 Dec 2020 00:20:38 +0000 (09:20 +0900)]
Fix compiler error due to the previous commit.
Bo Peng [Mon, 30 Nov 2020 04:28:10 +0000 (13:28 +0900)]
Add error message to the previous commit.
Tatsuo Ishii [Mon, 30 Nov 2020 04:01:52 +0000 (13:01 +0900)]
Fix file swapping race condition in pool_passwd.
Existing implementation first stats pool passwd file and then open the
file. To prevent file-swapping due to file race conditions, open the
key file before checking it by stat().
Patch by: Masaya Kawamoto
Bo Peng [Thu, 26 Nov 2020 01:10:28 +0000 (10:10 +0900)]
Prepare 4.2.0.
Bo Peng [Thu, 26 Nov 2020 00:55:23 +0000 (09:55 +0900)]
Doc: update release-note.
Bo Peng [Wed, 25 Nov 2020 16:19:34 +0000 (01:19 +0900)]
Doc: update image files.
Bo Peng [Wed, 25 Nov 2020 15:55:55 +0000 (00:55 +0900)]
Doc: add documentation of "Pgpool-II on Kubernetes".
Muhammad Usama [Tue, 24 Nov 2020 16:39:26 +0000 (21:39 +0500)]
Removing strerror() call from ereports.
Call to ereport() resets the errno value and using the "strerror(errno)"
emmits the wrong error message. The right way is to use
%m format specifier instead.
Bo Peng [Tue, 24 Nov 2020 05:19:48 +0000 (14:19 +0900)]
Fix pgpool_setup to extract correct PostgreSQL version.
Tatsuo Ishii [Fri, 20 Nov 2020 01:10:45 +0000 (10:10 +0900)]
Doc: fix log_standy_delay description.
The description failed to explain actual behavior when
log_standy_delay = always is set. In fact it does not log if the
streaming delay is not greater than 0. Also added that 'none' is the
compiled default. Removed duplicate description in Japanese doc.
Discussion: https://www.pgpool.net/pipermail/pgpool-hackers/2020-November/003849.html
Bo Peng [Tue, 17 Nov 2020 08:23:53 +0000 (17:23 +0900)]
Doc: add release note.
Bo Peng [Tue, 17 Nov 2020 03:45:37 +0000 (12:45 +0900)]
Fix query rewrite syntax error of "INSERT ... ON CONFLICT" in native replication mode.
per bug 654.
Bo Peng [Mon, 16 Nov 2020 15:04:53 +0000 (00:04 +0900)]
Doc: update "Aurora Configuration Example".
Tatsuo Ishii [Thu, 12 Nov 2020 06:23:17 +0000 (15:23 +0900)]
Suppress a Coverity complain.
Cid =
1395058 (Unused value).
Bo Peng [Sun, 8 Nov 2020 13:28:25 +0000 (22:28 +0900)]
Doc: fix missing description of pgpool.conf samples.
Tatsuo Ishii [Thu, 29 Oct 2020 20:59:23 +0000 (05:59 +0900)]
Fix connection count when query is canceled.
Connection counter was not counted down when a query is canceled.
Per bug 656.
Bo Peng [Tue, 27 Oct 2020 05:32:09 +0000 (14:32 +0900)]
Prepare 4.2beta1.
Bo Peng [Tue, 27 Oct 2020 05:24:27 +0000 (14:24 +0900)]
Update Makefile.
Bo Peng [Tue, 27 Oct 2020 05:04:47 +0000 (14:04 +0900)]
Doc: update release note.
Bo Peng [Tue, 27 Oct 2020 04:55:46 +0000 (13:55 +0900)]
Doc: add escalation.sh sample script that is executed by wd_escalation_command.
Patch is created by Kawamoto Masaya.
Bo Peng [Mon, 26 Oct 2020 11:08:08 +0000 (20:08 +0900)]
Use list_delete_cell instead of list_delete_ptr in some places.
Patch is created by Hou, Zhijie.
Tatsuo Ishii [Sun, 25 Oct 2020 13:12:48 +0000 (22:12 +0900)]
Doc: fix incorrect description about load balancing.
Tatsuo Ishii [Wed, 7 Oct 2020 10:32:07 +0000 (19:32 +0900)]
Doc: fix typo in release 4.2 doc.
Also change supposed-to-be-released month from October to November
because it is more likely to happen.
Bo Peng [Tue, 6 Oct 2020 06:09:20 +0000 (15:09 +0900)]
Prepare 4.2alpha1.
Bo Peng [Tue, 6 Oct 2020 05:45:48 +0000 (14:45 +0900)]
Disable AM_MAINTAINER_MODE.
Bo Peng [Tue, 6 Oct 2020 05:10:44 +0000 (14:10 +0900)]
Doc: update 4.2 release note.
Bo Peng [Sun, 4 Oct 2020 14:49:33 +0000 (23:49 +0900)]
Doc: update watchdog related documentation and remove "8.2. Watchdog Configuration Example".
Tatsuo Ishii [Sat, 3 Oct 2020 01:29:30 +0000 (10:29 +0900)]
Doc: mention that GSSAPI is not supported.
Tatsuo Ishii [Sat, 3 Oct 2020 00:09:41 +0000 (09:09 +0900)]
Deal with GSSAPI encrypted connection request from frontend.
If GSSAPI connection request comes from frontend, Pgpool-II responded
in inappropriate way. For example,
psql: error: could not connect to server: server closed the connection unexpectedly
This probably means the server terminated abnormally
before or while processing the request.
or even:
FATAL: client authentication failed
DETAIL: no pool_hba.conf entry for host "x.x.x.x", user "", database "", SSL off
(https://www.pgpool.net/pipermail/pgpool-general/2020-September/007353.html)
With this commit Pgpool-II responds better. i.e. replies back to
frontend with "we don't support GSSAPI" and expects that the frontend
falls back to SSL connection (if frontend's param: gssencmode=prefer
(default) and SSL is configure when Pgpool-II was built) or fals back
to non-SSL connection.
Patch by me, reviewed and tested by Umar Hayat.
Bo Peng [Thu, 1 Oct 2020 05:22:32 +0000 (14:22 +0900)]
Add validation for pgpool_node_id file.
Bo Peng [Wed, 30 Sep 2020 07:20:35 +0000 (16:20 +0900)]
Fix test 032.dml_adaptive_load_balance failure.
Tatsuo Ishii [Wed, 30 Sep 2020 05:10:51 +0000 (14:10 +0900)]
Doc: fix index dupication.
This is caused by former slony mode was written as "native replication
mode". This is obviously a mistake. Now we use the term "main replica
mode" (slony mode).
Tatsuo Ishii [Wed, 30 Sep 2020 04:44:20 +0000 (13:44 +0900)]
Doc: fix usable versions of PostgreSQL.
Make usable versions of PostgreSQL to be 7.4 or later.
Discussion: https://www.pgpool.net/pipermail/pgpool-hackers/2020-September/003836.html
Tatsuo Ishii [Wed, 30 Sep 2020 01:47:36 +0000 (10:47 +0900)]
Doc: more language cleanup.
Replace "マスター" with "メイン".
Tatsuo Ishii [Wed, 30 Sep 2020 01:37:28 +0000 (10:37 +0900)]
Doc: more language cleanup.
Replace "フォローマスター" with "フォロープライマリ".
Tatsuo Ishii [Wed, 30 Sep 2020 00:45:00 +0000 (09:45 +0900)]
Fix some language cleanup mistakes.
Muhammad Usama [Tue, 29 Sep 2020 18:31:54 +0000 (23:31 +0500)]
test case for dml object level load balance support
Muhammad Usama [Tue, 29 Sep 2020 18:30:10 +0000 (23:30 +0500)]
Fixing for an issue in dml object level load balance support
The comparison of objects should be done case insensitive
Bo Peng [Fri, 25 Sep 2020 08:12:35 +0000 (17:12 +0900)]
Logging sample scripts to pgpool stdout
Tatsuo Ishii [Wed, 23 Sep 2020 09:33:04 +0000 (18:33 +0900)]
More language cleanup.
Patch contributed by Umar Hayat.
Bo Peng [Tue, 22 Sep 2020 14:02:37 +0000 (23:02 +0900)]
Doc: update "Pgpool-II + Watchdog Setup Example".
Bo Peng [Tue, 22 Sep 2020 13:08:18 +0000 (22:08 +0900)]
Doc: update "Pgpool-II + Watchdog Setup Example" and sample scripts.
Tatsuo Ishii [Tue, 22 Sep 2020 02:30:33 +0000 (11:30 +0900)]
Doc: update 4.2 release notes.
Add language cleanup and wd_cli. Also fixes are from 4.1.4, rather
than 4.1.3 because 4.1.4 has been released.
Bo Peng [Mon, 21 Sep 2020 09:25:59 +0000 (18:25 +0900)]
Fix sample config files error.
Tatsuo Ishii [Thu, 17 Sep 2020 04:41:44 +0000 (13:41 +0900)]
Apply language cleanup mega patch.
black/white_function_list -> write_function_list, read_only_function_list
black_query_pattern -> primay_routing_query_pattern
black/white_memqcache_table_list -> cache_unsafe/cache_safe_table_list
Watchdog: replace master to 'leader' for 'master' watchdog nodes
ALWAYS_MASTER flag is changed to ALWAYS_PRIMARY.
Replace relcache_query_target option 'master' to 'primary'.
Replace Master Node with Main node ( node id with 0 or youngest live ).
Replace follow_master with follow_primary with parameters.
Replace some remaining occurrences of master with primary/main/leader
Patch contributed by: Umar Hayat
Reviewed by me:
Tatsuo Ishii [Wed, 16 Sep 2020 23:44:06 +0000 (08:44 +0900)]
Add wd_cli Japanese doc.
Also small tweaks to English doc.
Muhammad Usama [Wed, 16 Sep 2020 13:41:16 +0000 (18:41 +0500)]
Documentation update for wd_cli utility
Few typo fixes are also part of the commit
Bo Peng [Wed, 16 Sep 2020 08:20:46 +0000 (17:20 +0900)]
Doc: add more release note.
Bo Peng [Wed, 16 Sep 2020 08:01:33 +0000 (17:01 +0900)]
Doc: fix the incorrect description regarding the running modes of Pgpoo-II in which online recovery is available.
Tatsuo Ishii [Wed, 16 Sep 2020 06:04:26 +0000 (15:04 +0900)]
Refactor show pool_version and pool_processes.
Refactoring by using send_row_description_and_data_rows().
Tatsuo Ishii [Wed, 16 Sep 2020 05:28:17 +0000 (14:28 +0900)]
Refactor show pool_heath_check_stats.
Refactoring by using send_row_description_and_data_rows().
Bo Peng [Wed, 16 Sep 2020 01:46:37 +0000 (10:46 +0900)]
Doc: Add relesae note 3.5.27 - 4.1.4.
Bo Peng [Tue, 15 Sep 2020 12:53:44 +0000 (21:53 +0900)]
Fix coverity issues.
Bo Peng [Mon, 14 Sep 2020 02:46:40 +0000 (11:46 +0900)]
Fix compiler warning.
Bo Peng [Mon, 14 Sep 2020 02:39:04 +0000 (11:39 +0900)]
Fix Coverity issues.
Tatsuo Ishii [Mon, 14 Sep 2020 08:14:44 +0000 (17:14 +0900)]
Fix double free problem in send_row_description_and_data_rows().
Pointed out by Coverity.
Tatsuo Ishii [Sun, 13 Sep 2020 23:09:18 +0000 (08:09 +0900)]
Remove unnecessary checks in some code path.
Patch contributed by Hou, Zhijie.
Discussion: https://www.pgpool.net/pipermail/pgpool-hackers/2020-September/003805.html
Tatsuo Ishii [Sun, 13 Sep 2020 11:14:42 +0000 (20:14 +0900)]
Follow the guide line of PostgreSQL 12.4 regarding extensions.
CREATE OR REPLACE FUNCTION should be avoided. Use CREATE FUNCTION instead.
Tatsuo Ishii [Sun, 13 Sep 2020 06:06:57 +0000 (15:06 +0900)]
Doc: remove unnecessary SQL parser additions in 4.2 release notes.
Tatsuo Ishii [Sat, 12 Sep 2020 12:14:35 +0000 (21:14 +0900)]
Doc: fix English comment in the 4.2 Japanese release note.
Tatsuo Ishii [Sat, 12 Sep 2020 12:13:01 +0000 (21:13 +0900)]
Doc: fix more typo in 4.2 English release note.
Tatsuo Ishii [Sat, 12 Sep 2020 12:00:56 +0000 (21:00 +0900)]
Doc: fix typo in release notes.
Tatsuo Ishii [Sat, 12 Sep 2020 11:52:04 +0000 (20:52 +0900)]
Add Pgpool-II 4.2 English release notes.
Tatsuo Ishii [Fri, 11 Sep 2020 07:15:03 +0000 (16:15 +0900)]
Doc: Pgpool-II 4.2 release note (Japanese) almost done.
Bo Peng [Thu, 10 Sep 2020 08:49:21 +0000 (17:49 +0900)]
Update SPEC file to 4.2.
Bo Peng [Thu, 10 Sep 2020 05:59:26 +0000 (14:59 +0900)]
Fix compiler error on some platforms.
Bo Peng [Wed, 9 Sep 2020 11:43:07 +0000 (20:43 +0900)]
Add AC_PROG_CC_C99 in configure.ac file and fix build error introduced by commit
a8cc1e26cc204a49bea47eea05c711a981c17484.
Muhammad Usama [Tue, 8 Sep 2020 08:21:03 +0000 (13:21 +0500)]
Fix for coverity issue CID:
1430581 Resource leak