pgpool-II 4.7.0 Documentation
Prev | Up | Appendix A. Release Notes | Next

# A.26. Release 4.4.8

> Release Date: 2024-08-15

## A.26.1. Changes

- Use `psql -V` instead of `initdb -V` in sample scripts. (Bo Peng)

  Use `psql -V` instead of `initdb -V` in the sample scripts because in some cases postgresqlxx-server may not be installed.

## A.26.2. Bug fixes

- Fix hang after a flush message received. (#59) (Tatsuo Ishii)

- Fix segmentation fault. (Tatsuo Ishii)

  It is reported that pgpool child segfaulted in pool_do_auth. The cause was MAIN_CONNECTION() returns NULL. It seems my_main_node_id was set to incorrect node id 0, which was actually in down status. thus there was no connection in cp->slots[0].

  Problem is reported by Emond Papegaaij. Discussion: [pgpool-general: 9175]

- Fix dynamic process management. (Tatsuo Ishii)

  Calculation of pooled_connection, which is used by the process eviction algorithm, was not correct. The number always resulted in max_pool. Also more comments are added.

  Discussion: [pgpool-hackers: 4490]

- Fixed segmentation fault at parsing config file. (Tatsuo Ishii)

  This commit fixed a segmentation fault that occurs when parsing pgpool.conf if the setting value was not enclosed in single quotes.

  The patch is created by Carlos Chapi, reviewed and modified by Tatsuo Ishii.

- Fix segfault to not use MAIN_NODE macro. (Tatsuo Ishii)

  Some functions (close_idle_connection(), new_connection() and pool_create_cp()) used MAIN* and VALID_BACKEND where they are not appropriate. MAIN* and VALID_BACKEND are only useful against current connections to backend, not for pooled connections since in pooled connections which backend is the main node or up and running is necessarily same as the current connections to backend. The misuses of those macros sometimes leads to segfault.

  Problem is reported by Emond Papegaaij. Discussion: [pgpool-general: 9114]

- Fix MAIN_NODE macro (actually pool_virtual_main_db_node_id()). (Tatsuo Ishii)

  The macro used to return REAL_MAIN_NODE_ID if there's no session context. This is wrong since REAL_MAIN_NODE_ID can be changed any time when failover/failback happens.

  Suppose REAL_MAIN_NODE_ID == my_main_node_id == 1. Then due to failback, REAL_MAIN_NODE_ID is changed to 0. Then MAIN_CONNECTION(cp) will return NULL and any reference to it will cause segmentation fault. To prevent the issue we should return my_main_node_id instead.

- Fix `show pool_processes` to not show row description twice. (Tatsuo Ishii)

  processes_reporting() accidentaly called both send_row_description() and send_row_description_and_data_rows().

  Discussion: [pgpool-hackers: 4471]

- Fix segfault in a child process. (Tatsuo Ishii)

  Discussion: [pgpool-general: 9104]

- Watchdog dies and kills pgpool2 when network gets shortly interrupted. (#823) (Muhammad Usama)

  With network monitoring enabled, a Pgpool-II node would shut down immediately if it lost all network interfaces or assigned IP addresses, providing extra protection by quickly removing a non-communicative node from the cluster.

  The issue was that Pgpool-II responded to network blackout events even when network monitoring was disabled. This fix ensures that the network monitoring socket is not opened when network monitoring is not enabled, preventing unnecessary shutdowns.

- Fix `pgpool reset` command not working if watchdog is enabled. (Tatsuo Ishii)

  Bug reported and problem analysis by keiseo. Discussion: [pgpool-hackers: 4465]

- Fix `psql_scan` crash. (#54) (Tatsuo Ishii)

  It was reported that `psql_scan` crashes while determining whether a string in a long query is psql variable (i.e. starting with ":") or not.

## A.26.3. Documents

- Mega typo fix for docs and program source codes. (Tatsuo Ishii)

  Patch is created by Umar Hayat.

- Add the criteria for selecting processes to be killed to max_spare_children. (Bo Peng)

- Enhance failover document. (Tatsuo Ishii)

  Clarify the condition on failover when failover_on_backend_shutdown is enabled.

- Add the missing default values for virtual IP related parameters. (Bo Peng)

Prev | Home | Next
Release 4.4.9 | Up | Release 4.4.7