[pgpool-hackers: 307] pgpool-II 3.2.5, 3.1.8, 3.0.12 released

Yugo Nagata nagata at sraoss.co.jp
Wed Jul 10 14:49:47 JST 2013


pgpool Global Development Group is pleased to announce the availability
of pgpool-II 3.2.5, 3.1.8, 3.0.12, the latest stable versions of pgpool-II.

You can download the source codes from:
http://pgpool.net/mediawiki/index.php/Downloads

=========================================================================
pgpool-II 3.2.5
=========================================================================

This is a bugfix release against pgpool-II 3.2.4.

-------------------------------------------------------------------------
* Bug fixes 
-------------------------------------------------------------------------

    - Add mention about "-D" option to the man page. (Tatsuo Ishii)

    - Consider timeout waiting for compeletion of failback request in on line
      recovery (Tatsuo Ishii)
    
      This will prevent the situation that recovery operation continues forever
      and we cannot even shutdown pgpool-II main process. This could happen
      especially while executing follow master command.

    - Fix a bug that %H of follow_master_command is not assigned correctly the
      new primary node in stream replication mode
      (Tatsuo Ishii)

    - Fix wd_create_send_socket() to not execute select() before connect()
      (Yugo Nagata)

      How select() works on an unconnected socket is undefined, and differs
      between platform. On Linux, this returns 2 and it is eventually harmless.
      However, on Soraris, this returns 0 and it is indistinguishable from time
      timeout, so watchdog wouldn't work correctly.
    
    - Fix error when pgpool_regclass is not installed (Tatsuo Ishii)

      The query used in pool_has_pgpool_regclass() fails if pgpool_regclass
      does not exist. The bug was introduced in 3.2.4.  See [pgpool-general:
      1722] for more details.

      [pgpool-general: 1722] [PgPool-II 3.2.4] pgpool_regclass now mandatory?
      http://www.sraoss.jp/pipermail/pgpool-general/2013-May/001749.html

    - Fix do_query() to not hang when PostgreSQL returns an error
      (Tatsuo Ishii)

      The typical symptom is "I see SELECT is keep on running according to
      pg_stat_activity". To fix this pgpool-II just exits the process and
      kill the existig connection.  This is not gentle but at this point I
      believe this is the best solution.

    - Fix possible deadlock during failover with watchdog enabled
      (Yugo Nagata)

      This is reported in Bug track #54 by arshu arora

      #54 pgpool-II semaphore lock problem
      http://www.pgpool.net/mantisbt/view.php?id=54

    - Fix bug with do_query which causes hung in extended protocol
      (Tatsuo Ishii)
        
      This problem could occur when insert lock is enabled and
      pgpool_catalog.insert_lock exists, See [pgpool-general: 1684] for more
      details.

      [pgpool-general: 1684] insert_lock hangs
      http://www.sraoss.jp/pipermail/pgpool-general/2013-May/001711.html

    - Fix unnecessary degeneration caused by error on commit (Tatsuo Ishii)

      In master slave mode, if master gets an error at commit, while other
      slaves are normal at commit, we don't need to degenrate any backend
      because it is likely that the "kind mismatch error" was caused by a
      deferred trigger.

    - Fix possible failure of query cache invalidation for DML in transaction
      (Tatsuo Ishii)

      CREATE TABLE t1(i INTEGER);
      CREATE TABLE t2(i INTEGER);
      SELECT * FROM t1;
      BEGIN;
      DELETE FROM t2 WHERE i = 0;
      INSERT INTO t1(i) VALUES(1);
      COMMIT;
    
      SELECT * FROM t1;
    
      At commit pgpool tries to delete cache for t2 but failes because
      there's no oid table entry for t2. Problem is, it fails to check oid
      table for t1. So cahce for t1 remains and the last SELECT incorrectly
      returns cached data. Fix is, continuing to check oid table entries.

      This is reported in Bug track #58 by wms 

      #58 query cache invalidation does not fire for multiple DML in transaction
      http://www.pgpool.net/mantisbt/view.php?id=58

    - Fix to register pgpool_regclass in pg_catalog schema (Tatsuo Ishii)
    
      This is necessary to deal with clients which restricts schema search path
      to pg_catalog only. Postgres_fdw is such a client.

    - Fix a potential crash in pg_md5 command (Muhammad Usama)
    
    - Fix a segmentation fault that occurs when on memory query cache enabled
      and the query is issued in extended query mode and the result is too large
      (Tatsuo Ishii)

      This is reported in Bug track #63 by harukat.
      Analysis and a test case are also provided.

      #63 Child process was terminated by segmentation fault with memcached
      http://www.pgpool.net/mantisbt/view.php?id=63
    
    - Fix a segmentation fault of a child process that occurs when a startup
      packet has no PostgreSQL user information (Yugo Nagata)
    
      You can reproduce it by
    
          $ psql -p 9999 -U ''
    
      If enable_pool_hba is on, a child process terminates by segmentation
      fault. Otherwise if enable_pool_hba is off, the error message is
    
          ERROR: pool_discard_cp: cannot get connection pool for user (null)
                 database (null)
    
      In both cases, psql terminates with no message on frontend.
    
      In the fixed version, if PostgreSQL user is not specified in startup packet,
      the message as following is output to both log and frontend. This is
      the same behavior as PostgreSQL.
    
          FATAL: no PostgreSQL user name specified in startup packet

    - Fix memory allocation logic in extended query processing with on-memory
      query cache enabled (Tatsuo Ishii)
    
      When very long query string (> 1024 bytes) supplied in extended query
      with bind parameters, it fails to allocate enough memory.

    - Move ssl_ca_cert and ssl_ca_cert_dir descriptions to the SSL section
      (Yugo Nagata)

    - Add ssl_ca_cert and ssl_ca_cert_dir descriptions to the japanese document
      (Yugo Nagata)    

    - Fix to verify the backend node number in pcp_recovery_node (Yugo Nagata)
    
      When an invalid number is used, null value is passed as an arguments
      of recovery script, and this causes a malfunction. In especially,
      rsync may delete unrelated files in basebackup scripts.

=========================================================================
pgpool-II 3.1.8
=========================================================================

This is a bugfix release against pgpool-II 3.1.7.

-------------------------------------------------------------------------
* Bug fixes 
-------------------------------------------------------------------------

    - Add mention about "-D" option to the man page. (Tatsuo Ishii)

    - Consider timeout waiting for compeletion of failback request in on line
      recovery (Tatsuo Ishii)
    
      This will prevent the situation that recovery operation continues forever
      and we cannot even shutdown pgpool-II main process. This could happen
      especially while executing follow master command.

    - Fix a bug that %H of follow_master_command is not assigned correctly the
      new primary node in stream replication mode
      (Tatsuo Ishii)

    - Fix do_query() to not hang when PostgreSQL returns an error
      (Tatsuo Ishii)

      The typical symptom is "I see SELECT is keep on running according to
      pg_stat_activity". To fix this pgpool-II just exits the process and
      kill the existig connection.  This is not gentle but at this point I
      believe this is the best solution.

    - Fix bug with do_query which causes hung in extended protocol
      (Tatsuo Ishii)
        
      This problem could occur when insert lock is enabled and
      pgpool_catalog.insert_lock exists, See [pgpool-general: 1684] for more
      details.

      [pgpool-general: 1684] insert_lock hangs
      http://www.sraoss.jp/pipermail/pgpool-general/2013-May/001711.html

    - Fix unnecessary degeneration caused by error on commit (Tatsuo Ishii)

      In master slave mode, if master gets an error at commit, while other
      slaves are normal at commit, we don't need to degenrate any backend
      because it is likely that the "kind mismatch error" was caused by a
      deferred trigger.

    - Fix to register pgpool_regclass in pg_catalog schema (Tatsuo Ishii)
    
      This is necessary to deal with clients which restricts schema search path
      to pg_catalog only. Postgres_fdw is such a client.

    - Fix a potential crash in pg_md5 command (Muhammad Usama)
    
    - Fix a segmentation fault of a child process that occurs when a startup
      packet has no PostgreSQL user information (Yugo Nagata)
    
      You can reproduce it by
    
          $ psql -p 9999 -U ''
    
      If enable_pool_hba is on, a child process terminates by segmentation
      fault. Otherwise if enable_pool_hba is off, the error message is
    
          ERROR: pool_discard_cp: cannot get connection pool for user (null)
                 database (null)
    
      In both cases, psql terminates with no message on frontend.
    
      In the fixed version, if PostgreSQL user is not specified in startup packet,
      the message as following is output to both log and frontend. This is
      the same behavior as PostgreSQL.
    
          FATAL: no PostgreSQL user name specified in startup packet

    - Move ssl_ca_cert and ssl_ca_cert_dir descriptions to the SSL section
      (Yugo Nagata)

    - Add ssl_ca_cert and ssl_ca_cert_dir descriptions to the japanese document
      (Yugo Nagata)    

    - Fix to verify the backend node number in pcp_recovery_node (Yugo Nagata)
    
      When an invalid number is used, null value is passed as an arguments
      of recovery script, and this causes a malfunction. In especially,
      rsync may delete unrelated files in basebackup scripts.

=========================================================================
pgpool-II 3.0.12
=========================================================================

This is a bugfix release against pgpool-II 3.0.11.

-------------------------------------------------------------------------
* Bug fixes 
-------------------------------------------------------------------------

    - Add mention about "-D" option to the man page. (Tatsuo Ishii)

    - Consider timeout waiting for compeletion of failback request in on line
      recovery (Tatsuo Ishii)
    
      This will prevent the situation that recovery operation continues forever
      and we cannot even shutdown pgpool-II main process. This could happen
      especially while executing follow master command.

    - Fix do_query() to not hang when PostgreSQL returns an error
      (Tatsuo Ishii)

      The typical symptom is "I see SELECT is keep on running according to
      pg_stat_activity". To fix this pgpool-II just exits the process and
      kill the existig connection.  This is not gentle but at this point I
      believe this is the best solution.

    - Fix bug with do_query which causes hung in extended protocol
      (Tatsuo Ishii)
        
      This problem could occur when insert lock is enabled and
      pgpool_catalog.insert_lock exists, See [pgpool-general: 1684] for more
      details.

      [pgpool-general: 1684] insert_lock hangs
      http://www.sraoss.jp/pipermail/pgpool-general/2013-May/001711.html

    - Fix unnecessary degeneration caused by error on commit (Tatsuo Ishii)

      In master slave mode, if master gets an error at commit, while other
      slaves are normal at commit, we don't need to degenrate any backend
      because it is likely that the "kind mismatch error" was caused by a
      deferred trigger.

    - Fix to register pgpool_regclass in pg_catalog schema (Tatsuo Ishii)
    
      This is necessary to deal with clients which restricts schema search path
      to pg_catalog only. Postgres_fdw is such a client.

    - Fix a potential crash in pg_md5 command (Muhammad Usama)
    
    - Fix a segmentation fault of a child process that occurs when a startup
      packet has no PostgreSQL user information (Yugo Nagata)
    
      You can reproduce it by
    
          $ psql -p 9999 -U ''
    
      If enable_pool_hba is on, a child process terminates by segmentation
      fault. Otherwise if enable_pool_hba is off, the error message is
    
          ERROR: pool_discard_cp: cannot get connection pool for user (null)
                 database (null)
    
      In both cases, psql terminates with no message on frontend.
    
      In the fixed version, if PostgreSQL user is not specified in startup packet,
      the message as following is output to both log and frontend. This is
      the same behavior as PostgreSQL.
    
          FATAL: no PostgreSQL user name specified in startup packet

    - Move ssl_ca_cert and ssl_ca_cert_dir descriptions to the SSL section
      (Yugo Nagata)

    - Add ssl_ca_cert and ssl_ca_cert_dir descriptions to the japanese document
      (Yugo Nagata)    

    - Fix to verify the backend node number in pcp_recovery_node (Yugo Nagata)
    
      When an invalid number is used, null value is passed as an arguments
      of recovery script, and this causes a malfunction. In especially,
      rsync may delete unrelated files in basebackup scripts.

-- 
Yugo Nagata <nagata at sraoss.co.jp>


More information about the pgpool-hackers mailing list