[pgpool-general: 1663] pgpool-II 3.2.4, 3.1.7, 3.0.11, and pgpool-ha 2.1 released

Yugo Nagata nagata at sraoss.co.jp
Fri Apr 26 15:57:17 JST 2013


pgpool Global Development Group is pleased to announce the availability
of pgpool-II 3.2.4, 3.1.7, 3.0.11, the latest stable versions of pgpool-II.

In addition, pgpool-ha 2.1 is also released. This is minor version up of
pgpool-ha.

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

=========================================================================
pgpool-II 3.2.4
=========================================================================

This is a bugfix release against pgpool-II 3.2.3.

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

    - Fix connect_inet_domain_socket_by_port() to set more appropriate value
      for timeout parameter of select(2). (Tatsuo Ishii) 
      
      Some platforms such as Solaris do not allow to specify too large
      microseconds timeout value (>=1000000). So divide the timeout value to
      seconds and microseconds.

    - Fix connect_inet_domain_socket_by_port() to not return as normal when
      interrupted by alarm. (Tatsuo Ishii)
      
      This confuses health checking because connect_inet_domain_socket_by_port()
      returns unsable fd. This makes detecting errors in health checking longer.
      
      See the following for more details:

      [pgpool-general: 1458]
      health check timeout in pgpool-II-3.2.3
      http://www.pgpool.net/pipermail/pgpool-general/2013-March/001482.html

    - Fix long standing bug with timestamp rewriting code for processing
      extended protocol. (Tatsuo Ishii)
      
      Parse() allocate memory using palloc() while rewriting the parse
      message.  Problem is, the rewritten message was kept in the data which
      is managed by pool_create_sent_message() etc. The function assumes
      that all the data is in session context memory. However, palloc()
      allocates memory in query context of course, and gets freeed later on
      when the query context disappears. And the function tries to free the
      memory as well, which causes various problems, including segfault and
      double free. To fix this, memory to store rewritten message is
      allocated using session context. The bug was there since pgpool-II 3.0
      was born.
      
      Problem analysis and patch contributed by Naoya Anzai.

      [pgpoolgenera-jp: 1146]. (in Japanese)
      http://www.pgpool.net/pipermail/pgpool-general-jp/2013-March/001145.html

    - Fix bug with md5 auth long user name handling. (Tatsuo Ishii)
      
      If user name is longer than 32 bytes, md5 authentication doesn't work.
      Problem reported in [pgpool-general: 1526] by Thomas Martin.
      
      [pgpool-general: 1526]
      [pgPool-II 3.2.3] MD5 authentication and username longer than 32 characters.
      http://www.pgpool.net/pipermail/pgpool-general/2013-March/001551.html

    - Fix to calculate replication delay only if standby server is behind from
      the primay server. (Yugo Nagata)
      
      When the primary server is behind from standby server, negative value of
      delay is calculated and the value is assigned to unsigned variable. It
      causes a log message informing negative replication delay. And what is
      worse, it also causes SELECT queries to be sent to the primary in load
      balance even though there are no replication delay in fact.
      
      The problem is reported and analyzed by Saitoh Hidenori in
      [pgpool-genera-jp: 1145]. 
      
      [pgpool-general-jp: 1145] (in Japanese)
      http://www.pgpool.net/pipermail/pgpool-general-jp/2013-March/001144.html

    - pgpool-recovery adopts PostgreSQL 9.3. (Tatsuo Ishii)
    
      Patch contributed by Asif Rehman. Slight editing by Tatsuo Ishii.

      [pgpool-hackers: 180] 
      compile error in ppool-recovery
      http://www.pgpool.net/pipermail/pgpool-hackers/2013-April/000179.html

    - Fix pool_has_pgpool_regclass() to check execute privilege of
      pgpool_regclass(). (Tatsuo Ishii)
      
      Even though pgpool_regclass() exists, if pgpool cannot execute the
      function, the connection to backend hangs. You can reproduce the problem
      by just dropping  the execute privilege from pgpool_regclass and do some
      insert in native replication mode.
      
      The problem is reported in bugtrack #53.

      #53 pgpool_regclas hangs all connections
      Date:     2013-04-04 13:35 
      Reporter: tmandke
      http://www.pgpool.net/mantisbt/view.php?id=53

    - Fix error message mistakes in detect_postmaster_down_error(). (Tatsuo Ishii)

      For example, "LOG: detect_stop_postmaster_error: detect_error error" is
      fixed to "LOG: detect_postmaster_down_error: detect_error error", and so on.

     - Remove root user check when watchdog is enabled. (Tatsuo Ishii)
      
       Per discussion [pgpool-general: 1627] Re: watchdog root requirement.

       [pgpool-general: 1627]
       Re: watchdog root requirement.
       http://www.pgpool.net/pipermail/pgpool-general/2013-April/001654.html

    - Fix bug with on memory query cache in handling UPDATE/DELETE with table
      alias. (Tatsuo Ishii)
      
      If UPDATE/DELETE is with table alias (UPDATE t1 AS foo...) pgpool thinks
      the table name is "t1 AS foo" and fails to invalidate query cache. This
      is caused by _outRangeVar() called from nodeToString() which generates a
      query string from RangeVar node in raw parse tree. The solution is removing
      "AS foo" part from the output of the string.
      
      Reported in bugtrack #56.

      #56 UPDATE with alias does not discard cache
      Date:     2013-04-18 17:33 
      Reporter: harukat 
      http://www.pgpool.net/mantisbt/view.php?id=56

=========================================================================
pgpool-II 3.1.7
=========================================================================

This is a bugfix release against pgpool-II 3.1.6

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

    - Fix to show pool_passwd in "SHOW pool_status". (Yugo Nagata)

    - Fix long standing bug with timestamp rewriting code for processing
      extended protocol. (Tatsuo Ishii)
      
      Parse() allocate memory using palloc() while rewriting the parse
      message.  Problem is, the rewritten message was kept in the data which
      is managed by pool_create_sent_message() etc. The function assumes
      that all the data is in session context memory. However, palloc()
      allocates memory in query context of course, and gets freeed later on
      when the query context disappears. And the function tries to free the
      memory as well, which causes various problems, including segfault and
      double free. To fix this, memory to store rewritten message is
      allocated using session context. The bug was there since pgpool-II 3.0
      was born.
      
      Problem analysis and patch contributed by Naoya Anzai.

      [pgpoolgenera-jp: 1146]. (in Japanese)
      http://www.pgpool.net/pipermail/pgpool-general-jp/2013-March/001145.html

    - Fix bug with md5 auth long user name handling. (Tatsuo Ishii)
      
      If user name is longer than 32 bytes, md5 authentication doesn't work.
      Problem reported in [pgpool-general: 1526] by Thomas Martin.
      
      [pgpool-general: 1526]
      [pgPool-II 3.2.3] MD5 authentication and username longer than 32 characters.
      http://www.pgpool.net/pipermail/pgpool-general/2013-March/001551.html

    - Fix to calculate replication delay only if standby server is behind from
      the primay server. (Yugo Nagata)
      
      When the primary server is behind from standby server, negative value of
      delay is calculated and the value is assigned to unsigned variable. It
      causes a log message informing negative replication delay. And what is
      worse, it also causes SELECT queries to be sent to the primary in load
      balance even though there are no replication delay in fact.
      
      The problem is reported and analyzed by Saitoh Hidenori in
      [pgpool-genera-jp: 1145]. 
      
      [pgpool-general-jp: 1145] (in Japanese)
      http://www.pgpool.net/pipermail/pgpool-general-jp/2013-March/001144.html

    - pgpool-recovery adopts PostgreSQL 9.3. (Tatsuo Ishii)
    
      Patch contributed by Asif Rehman. Slight editing by Tatsuo Ishii.

      [pgpool-hackers: 180] 
      compile error in ppool-recovery
      http://www.pgpool.net/pipermail/pgpool-hackers/2013-April/000179.html

    - Fix pool_has_pgpool_regclass() to check execute privilege of
      pgpool_regclass(). (Tatsuo Ishii)
      
      Even though pgpool_regclass() exists, if pgpool cannot execute the
      function, the connection to backend hangs. You can reproduce the problem
      by just dropping  the execute privilege from pgpool_regclass and do some
      insert in native replication mode.
      
      The problem is reported in bugtrack #53.

      #53 pgpool_regclas hangs all connections
      Date:     2013-04-04 13:35 
      Reporter: tmandke
      http://www.pgpool.net/mantisbt/view.php?id=53

    - Fix error message mistakes in detect_postmaster_down_error(). (Tatsuo Ishii)

      For example, "LOG: detect_stop_postmaster_error: detect_error error" is
      fixed to "LOG: detect_postmaster_down_error: detect_error error", and so on.

=========================================================================
pgpool-II 3.0.11
=========================================================================

This is a bugfix release against pgpool-II 3.0.10

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

    - Fix to show pool_passwd in "SHOW pool_status". (Yugo Nagata)

    - Fix long standing bug with timestamp rewriting code for processing
      extended protocol. (Tatsuo Ishii)
      
      Parse() allocate memory using palloc() while rewriting the parse
      message.  Problem is, the rewritten message was kept in the data which
      is managed by pool_create_sent_message() etc. The function assumes
      that all the data is in session context memory. However, palloc()
      allocates memory in query context of course, and gets freeed later on
      when the query context disappears. And the function tries to free the
      memory as well, which causes various problems, including segfault and
      double free. To fix this, memory to store rewritten message is
      allocated using session context. The bug was there since pgpool-II 3.0
      was born.
      
      Problem analysis and patch contributed by Naoya Anzai.

      [pgpoolgenera-jp: 1146]. (in Japanese)
      http://www.pgpool.net/pipermail/pgpool-general-jp/2013-March/001145.html

    - Fix bug with md5 auth long user name handling. (Tatsuo Ishii)
      
      If user name is longer than 32 bytes, md5 authentication doesn't work.
      Problem reported in [pgpool-general: 1526] by Thomas Martin.
      
      [pgpool-general: 1526]
      [pgPool-II 3.2.3] MD5 authentication and username longer than 32 characters.
      http://www.pgpool.net/pipermail/pgpool-general/2013-March/001551.html

    - Fix to calculate replication delay only if standby server is behind from
      the primay server. (Yugo Nagata)
      
      When the primary server is behind from standby server, negative value of
      delay is calculated and the value is assigned to unsigned variable. It
      causes a log message informing negative replication delay. And what is
      worse, it also causes SELECT queries to be sent to the primary in load
      balance even though there are no replication delay in fact.
      
      The problem is reported and analyzed by Saitoh Hidenori in
      [pgpool-genera-jp: 1145]. 
      
      [pgpool-general-jp: 1145] (in Japanese)
      http://www.pgpool.net/pipermail/pgpool-general-jp/2013-March/001144.html

    - pgpool-recovery adopts PostgreSQL 9.3. (Tatsuo Ishii)
    
      Patch contributed by Asif Rehman. Slight editing by Tatsuo Ishii.

      [pgpool-hackers: 180] 
      compile error in ppool-recovery
      http://www.pgpool.net/pipermail/pgpool-hackers/2013-April/000179.html

    - Fix pool_has_pgpool_regclass() to check execute privilege of
      pgpool_regclass(). (Tatsuo Ishii)
      
      Even though pgpool_regclass() exists, if pgpool cannot execute the
      function, the connection to backend hangs. You can reproduce the problem
      by just dropping  the execute privilege from pgpool_regclass and do some
      insert in native replication mode.
      
      The problem is reported in bugtrack #53.

      #53 pgpool_regclas hangs all connections
      Date:     2013-04-04 13:35 
      Reporter: tmandke
      http://www.pgpool.net/mantisbt/view.php?id=53

    - Fix error message mistakes in detect_postmaster_down_error(). (Tatsuo Ishii)

      For example, "LOG: detect_stop_postmaster_error: detect_error error" is
      fixed to "LOG: detect_postmaster_down_error: detect_error error", and so on.


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


More information about the pgpool-general mailing list