Yoshiyuki Asaba [Thu, 8 May 2008 04:59:26 +0000 (04:59 +0000)]
Fix hang up in Execute.
We sended a syntax error query to abort a transaction if
replicate_select was true. However, the query was sended over Query
message.
Patch contributed by Kenichi Sawada.
Yoshiyuki Asaba [Wed, 19 Mar 2008 08:18:21 +0000 (08:18 +0000)]
Fixed hang up in master/slave mode.
Yoshiyuki Asaba [Mon, 3 Mar 2008 06:25:51 +0000 (06:25 +0000)]
Fix hang up after processing "show pool_status".
Per report by ISHIDA Akio.
Yoshiyuki Asaba [Tue, 26 Feb 2008 03:59:02 +0000 (03:59 +0000)]
Fix asynchronous query handling.
When ReadyForQuery message was received, pgpool set off loadbalancing
flag, internal transaction flag and so on. If client sended a Query
message before receiving the ReadyForQuery message, pgpool reported
error message.
So, we block the Query message while backend nodes process a query.
Yoshiyuki Asaba [Tue, 26 Feb 2008 02:21:15 +0000 (02:21 +0000)]
Add error checking.
Yoshiyuki Asaba [Tue, 26 Feb 2008 01:45:17 +0000 (01:45 +0000)]
health_check_timeout did not work correctly. The bug was introduced in
V3.4. Report and patch by Kenichi Sawada.
Yoshiyuki Asaba [Tue, 19 Feb 2008 04:28:23 +0000 (04:28 +0000)]
Polling signals per 3 secs when health check is disabled.
Yoshiyuki Asaba [Thu, 14 Feb 2008 04:02:28 +0000 (04:02 +0000)]
Fix wrong loop condition in pool_sleep().
Yoshiyuki Asaba [Wed, 5 Dec 2007 08:10:31 +0000 (08:10 +0000)]
Improve buffering algorithm in pool_write().
Yoshiyuki Asaba [Tue, 6 Nov 2007 09:08:53 +0000 (09:08 +0000)]
Fix insert_lock with extended query protocol.
Yoshiyuki Asaba [Fri, 2 Nov 2007 09:27:52 +0000 (09:27 +0000)]
Ignore white space in need_insert_lock().
Yoshiyuki Asaba [Fri, 26 Oct 2007 03:02:19 +0000 (03:02 +0000)]
Check return value of pool_flush().
Yoshiyuki Asaba [Wed, 17 Oct 2007 02:28:59 +0000 (02:28 +0000)]
Add redhat/* into EXTRA_DIST.
Devrim GÜNDÜZ [Tue, 16 Oct 2007 13:02:51 +0000 (13:02 +0000)]
Update spec file to 3.4.1
Added new directory: redhat
Added Red Hat / Fedora init script and sysconfig file for pgpool
Yoshiyuki Asaba [Fri, 12 Oct 2007 06:52:11 +0000 (06:52 +0000)]
Add authentication_timeout
Yoshiyuki Asaba [Fri, 12 Oct 2007 04:14:57 +0000 (04:14 +0000)]
Add authentication_timeout into the result of "show pool_status".
Yoshiyuki Asaba [Fri, 12 Oct 2007 04:13:46 +0000 (04:13 +0000)]
Disable alarm before returning read_startup_packet().
Yoshiyuki Asaba [Thu, 11 Oct 2007 09:58:23 +0000 (09:58 +0000)]
Add new directive "authentication_timeout". The directive means the
maximum time in seconds to complete client authentication. The default
value is 60.
Yoshiyuki Asaba [Thu, 11 Oct 2007 08:18:16 +0000 (08:18 +0000)]
Check startup packet length. If the length is greater than 10,000
byte, pgpool reject the connection.
Tatsuo Ishii [Wed, 12 Sep 2007 04:23:29 +0000 (04:23 +0000)]
Run autoconf
Yoshiyuki Asaba [Wed, 12 Sep 2007 04:22:52 +0000 (04:22 +0000)]
3.4.2 release note.
Yoshiyuki Asaba [Wed, 12 Sep 2007 04:08:05 +0000 (04:08 +0000)]
3.4.1 release note in Japanese.
Yoshiyuki Asaba [Wed, 12 Sep 2007 03:54:34 +0000 (03:54 +0000)]
Prepare for 3.4.1
Yoshiyuki Asaba [Wed, 29 Aug 2007 05:44:50 +0000 (05:44 +0000)]
* Fix handling Parse message.
Parse message including INSERT/UPDATE/DELETE query acquires
RowExclusiveLock. However pgpool did not wait a response from each
node. It was possible to occur deadlock problem.
Yoshiyuki Asaba [Fri, 10 Aug 2007 03:57:44 +0000 (03:57 +0000)]
Fix failover.
When kind mismatch occured, pgpool detached master node.
Yoshiyuki Asaba [Wed, 1 Aug 2007 04:25:40 +0000 (04:25 +0000)]
Remove compiler warning.
Yoshiyuki Asaba [Wed, 1 Aug 2007 03:57:43 +0000 (03:57 +0000)]
Review release note.
Yoshiyuki Asaba [Wed, 1 Aug 2007 03:54:56 +0000 (03:54 +0000)]
Fix SEGV when connection_cache is true and replication_mode is false.
Yoshiyuki Asaba [Tue, 31 Jul 2007 08:53:45 +0000 (08:53 +0000)]
Prepare for 3.4
Yoshiyuki Asaba [Fri, 27 Jul 2007 07:59:35 +0000 (07:59 +0000)]
Fix memory leak in the following case.
- connect to template1 database
- fail authentication
Yoshiyuki Asaba [Fri, 27 Jul 2007 06:24:37 +0000 (06:24 +0000)]
Add description for "replicate_select" directive.
Yoshiyuki Asaba [Fri, 27 Jul 2007 05:45:16 +0000 (05:45 +0000)]
Release note for 3.4.
Yoshiyuki Asaba [Fri, 27 Jul 2007 02:35:37 +0000 (02:35 +0000)]
Update release note.
Yoshiyuki Asaba [Fri, 27 Jul 2007 02:02:30 +0000 (02:02 +0000)]
Prepare for 3.4
Yoshiyuki Asaba [Thu, 26 Jul 2007 08:45:42 +0000 (08:45 +0000)]
SIGALRM handler didn't safe. Because it called non-reentrant functions.
We only set a flag in SIGALRM handler. Then we close expired
connections in safe places.
Yoshiyuki Asaba [Thu, 26 Jul 2007 06:13:07 +0000 (06:13 +0000)]
Add description of replicate_select parameter
Yoshiyuki Asaba [Thu, 26 Jul 2007 06:05:05 +0000 (06:05 +0000)]
Add replicate_select value to the result of "SHOW pool_status" command.
Yoshiyuki Asaba [Thu, 26 Jul 2007 05:45:25 +0000 (05:45 +0000)]
V3.4 release note
Yoshiyuki Asaba [Thu, 26 Jul 2007 03:01:42 +0000 (03:01 +0000)]
Fix memory leak when connection slot is full.
Tatsuo Ishii [Thu, 26 Jul 2007 02:09:42 +0000 (02:09 +0000)]
Run autoconf
Tatsuo Ishii [Thu, 26 Jul 2007 02:07:05 +0000 (02:07 +0000)]
Fix typo.
Yoshiyuki Asaba [Wed, 25 Jul 2007 07:01:05 +0000 (07:01 +0000)]
Fix hang up when a SELECT query has error inside transaction block. It
occurs only in simple query protocol. We reproduce the bug with the
following operation.
BEGIN;
SELECT * FROM non_exist_table; <-- ERROR
SELECT 1;
Yoshiyuki Asaba [Wed, 25 Jul 2007 06:42:40 +0000 (06:42 +0000)]
Fix hang up and SEGV if Parse message contains a warning statement.
SELECT '\'';
WARNING: nonstandard use of \' in a string literal
If pgpool receives a warning message that is NoticeMessage('N') under
the extended query protocol, it reads a next message.
Yoshiyuki Asaba [Tue, 24 Jul 2007 08:04:41 +0000 (08:04 +0000)]
Detect deadlock in do_command().
When insert_lock was true, kind mismatch error occured.
Yoshiyuki Asaba [Thu, 19 Jul 2007 05:30:25 +0000 (05:30 +0000)]
Prepare for 3.4
Yoshiyuki Asaba [Thu, 19 Jul 2007 05:29:57 +0000 (05:29 +0000)]
Add new parameter named "replication_select".
Devrim GÜNDÜZ [Wed, 18 Jul 2007 11:36:38 +0000 (11:36 +0000)]
- Update to 3.4
- Removed patches, they are now in upstream
Yoshiyuki Asaba [Wed, 18 Jul 2007 04:48:04 +0000 (04:48 +0000)]
Add new parameter named "replicate_select". Default value is 'false'.
If it is true, pgpool replicates SELECT queries when load balancing is
disabled. This is a old specification which was under V3.2.
If it is false, pgpool only sends them to the master node. This is a
current(V3.3) specification.
Yoshiyuki Asaba [Thu, 12 Jul 2007 03:48:22 +0000 (03:48 +0000)]
Fix the following bugs in master_slave mode && load_balance mode.
We force to replicate PREPARE and DEALLOCATE statement because of the case.
PREPARE xx AS SELECT 1;
EXECUTE xx;
If EXECUTE statement was load balanced, it occured the error.
ERROR: prepared statement "xx" does not exist
Yoshiyuki Asaba [Wed, 11 Jul 2007 02:11:53 +0000 (02:11 +0000)]
flush output buffer when deadlock error occured in Execute().
Yoshiyuki Asaba [Wed, 11 Jul 2007 02:08:01 +0000 (02:08 +0000)]
Previous commit does not fix deadlock error in Execute().
Yoshiyuki Asaba [Wed, 11 Jul 2007 01:40:17 +0000 (01:40 +0000)]
Fixed kind mismatch error when deadlock error occured.
The problem is the following senario.
A: BEGIN:
B: BEGIN;
A: LOCK TABLE t1 IN SHARE ROW EXCLUSIVE MODE;
B: LOCK TABLE t2 IN SHARE ROW EXCLUSIVE MODE;
A: LOCK TABLE t2 IN SHARE ROW EXCLUSIVE MODE;
B: LOCK TABLE t1 IN SHARE ROW EXCLUSIVE MODE;
Transaction "A" aborts on master node, but it completes on another
nodes. It causes wrong failover.
So pgpool checks deadlock error(code == '40P01') and sends error query
to another nodes.
Yoshiyuki Asaba [Mon, 9 Jul 2007 05:12:21 +0000 (05:12 +0000)]
Fix race condition between flag checking and signal blocking.
Normally, this case solve to call pselect(2). But Linux's pselect(2)
is emulated by select(2) and sigprocmask(2). It contains this race.
So pgpool archieves using the self-pipe trick.
See 'man pselect' if you want to get more information.
Yoshiyuki Asaba [Mon, 2 Jul 2007 04:04:26 +0000 (04:04 +0000)]
Modify that pgpool checks signal flags *before* sleeping.
Yoshiyuki Asaba [Fri, 29 Jun 2007 14:18:20 +0000 (14:18 +0000)]
Fix race condition between unsetting SIGCHLD flag and unblocking
SIGCHLD signal.
Yoshiyuki Asaba [Wed, 20 Jun 2007 08:53:49 +0000 (08:53 +0000)]
Fix SIGCHLD signal handling. Child processes are restarted in signal
safe places.
Yoshiyuki Asaba [Wed, 20 Jun 2007 08:23:26 +0000 (08:23 +0000)]
Fix signal handling for failover. Failover operation is executed in
signal safe places.
Yoshiyuki Asaba [Sat, 2 Jun 2007 00:51:54 +0000 (00:51 +0000)]
Fix typo EmptyQueryResponse message. pgpool hung up in EXECUTE command.
(Patch contributed by Kenichi Sawada)
Yoshiyuki Asaba [Mon, 28 May 2007 01:26:12 +0000 (01:26 +0000)]
pgpool did not failover when kind mismatch error occured using an
extended query protocol. So if it occurs in Execute(), pgpool does
failover.
Yoshiyuki Asaba [Tue, 22 May 2007 06:27:13 +0000 (06:27 +0000)]
Add an error message.
Yoshiyuki Asaba [Tue, 22 May 2007 06:21:30 +0000 (06:21 +0000)]
Add checking a message length is valid.
(Reported by Fujii Masao)
User yamaguti [Mon, 21 May 2007 02:04:10 +0000 (02:04 +0000)]
pgpool.pam is now installed as "share/pgpool/pgpool.pam"
Yoshiyuki Asaba [Fri, 18 May 2007 05:40:27 +0000 (05:40 +0000)]
Prepare for 3.3
Yoshiyuki Asaba [Fri, 18 May 2007 05:27:14 +0000 (05:27 +0000)]
Version 3.3
User yamaguti [Fri, 18 May 2007 02:45:05 +0000 (02:45 +0000)]
added an explanation about /*REPLICATION*/ .
Tatsuo Ishii [Thu, 17 May 2007 06:56:38 +0000 (06:56 +0000)]
Resync to updated configure.in
Tatsuo Ishii [Thu, 17 May 2007 06:54:28 +0000 (06:54 +0000)]
Update flex generated file
User yamaguti [Thu, 17 May 2007 06:34:40 +0000 (06:34 +0000)]
PAM service configuration sample file
User yamaguti [Thu, 17 May 2007 05:38:04 +0000 (05:38 +0000)]
added a description about "log_hostname"
User yamaguti [Thu, 17 May 2007 04:53:27 +0000 (04:53 +0000)]
these files will be updated soon. committing for the log purpose.
User yamaguti [Thu, 17 May 2007 04:47:54 +0000 (04:47 +0000)]
added a comment about PAM.
User yamaguti [Thu, 17 May 2007 04:46:47 +0000 (04:46 +0000)]
* changed "enable_pool_hba" to be true by default.
* install pgpool.pam for PAM configuration
* updated NEWS, ChangeLog, README*
Tatsuo Ishii [Thu, 17 May 2007 03:40:12 +0000 (03:40 +0000)]
Run autoconf
Yoshiyuki Asaba [Thu, 17 May 2007 02:29:21 +0000 (02:29 +0000)]
Add ps display changed.
User yamaguti [Thu, 17 May 2007 02:05:50 +0000 (02:05 +0000)]
fixed the ps display to follow the order in PostgreSQL.
pgpool was showing
pgpool: database user host status
but PostgreSQL shows
postgres: user database host status
Yoshiyuki Asaba [Tue, 15 May 2007 02:36:25 +0000 (02:36 +0000)]
Prepare for 3.3
Yoshiyuki Asaba [Tue, 15 May 2007 02:34:04 +0000 (02:34 +0000)]
Japanese release note for 3.3
Yoshiyuki Asaba [Tue, 15 May 2007 02:32:28 +0000 (02:32 +0000)]
Delay buffer flush in SimpleForwardToBackend().
Yoshiyuki Asaba [Mon, 7 May 2007 04:06:57 +0000 (04:06 +0000)]
Add handling nextval()/setval()
Yoshiyuki Asaba [Thu, 26 Apr 2007 05:14:53 +0000 (05:14 +0000)]
Retry connect() when it is interrupted by signal.
Yoshiyuki Asaba [Fri, 20 Apr 2007 06:14:20 +0000 (06:14 +0000)]
Enhance that the query that begins with "SELECT nextval()" or "SELECT
setval()" are always replicated under replication mode.
Then, SELECT statements are only executed by MASTER node if
load_balance_mode is false. If need to replicate select statement, add
a comment in the begining of the query.
Example:
SELECT foo() -> /*REPLICATION*/ SELECT foo()
User yamaguti [Wed, 21 Feb 2007 12:16:05 +0000 (12:16 +0000)]
Add description about -a option.
Yoshiyuki Asaba [Wed, 21 Feb 2007 06:49:37 +0000 (06:49 +0000)]
Fixed compile error on FreeBSD 4.11.
User yamaguti [Tue, 13 Feb 2007 08:06:32 +0000 (08:06 +0000)]
added a hstrerror() function check so that a compiler on some
platforms won't complain.
User yamaguti [Tue, 13 Feb 2007 07:17:31 +0000 (07:17 +0000)]
fixed a compilation error on FreeBSD 4.11 ([pgsql-jp: 38011]) reported
by Tom.
Devrim GÜNDÜZ [Tue, 13 Feb 2007 07:11:36 +0000 (07:11 +0000)]
- Add pgpool.pam file for pam authentication
- configure with pam support. This is a bugfix for new hba auth.
- Removed vendor tag, per rh bugzilla #222797
- Update to latest release
Yoshiyuki Asaba [Mon, 12 Feb 2007 06:21:03 +0000 (06:21 +0000)]
pgpool *only* checks backend connection when connection pool is
reused.
Yoshiyuki Asaba [Mon, 12 Feb 2007 06:19:37 +0000 (06:19 +0000)]
Fixed to hang up in PREPARE TRANSACTION and EXECUTE command.
Tatsuo Ishii [Sat, 10 Feb 2007 09:58:37 +0000 (09:58 +0000)]
Prepare for 3.2
Tatsuo Ishii [Wed, 7 Feb 2007 09:57:58 +0000 (09:57 +0000)]
include ac_func_accept_argtypes.m4 to avoid configure error.
Patch made by Taiki Yamaguchi.
User yamaguti [Tue, 6 Feb 2007 04:09:28 +0000 (04:09 +0000)]
delete a commented line about "aclocal -I ./"
Yoshiyuki Asaba [Tue, 6 Feb 2007 02:11:07 +0000 (02:11 +0000)]
Add checking socket state when connection pool is reused.
If socket is closed, pgpool try to create new connection pool.
Tatsuo Ishii [Sat, 3 Feb 2007 04:56:18 +0000 (04:56 +0000)]
Detach secondary server when "kind mismatch error" is detected
Tatsuo Ishii [Sat, 3 Feb 2007 04:22:21 +0000 (04:22 +0000)]
Add support for log_hostname
Prepare for 3.2
Tatsuo Ishii [Sat, 3 Feb 2007 00:03:57 +0000 (00:03 +0000)]
Update copyright and comments
Tatsuo Ishii [Fri, 2 Feb 2007 03:57:55 +0000 (03:57 +0000)]
show frontend address in ps status.
Also commit pool_config.c.
User yamaguti [Thu, 1 Feb 2007 16:40:35 +0000 (16:40 +0000)]
modified pool_open and pool_close to suit with new variables for HBA.
User yamaguti [Thu, 1 Feb 2007 15:31:59 +0000 (15:31 +0000)]
New files and modifications to support client authentication (pool_hba).
Tatsuo Ishii [Thu, 1 Feb 2007 13:33:26 +0000 (13:33 +0000)]
Show status via ps command like PostgreSQL
(ps_status.c and strlcpy.c are stolen from PostgreSQL)
Yoshiyuki Asaba [Mon, 22 Jan 2007 11:36:51 +0000 (11:36 +0000)]
Fixed SIGSEGV using DBD-Pg.
Reported by Kenichi Sawada.