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

# A.6. Release 4.5.2

> Release Date: 2024-05-16

## A.6.1. Bug fixes

- Fix compiler error with `-Werror=implicit-function-declaration`. (Bo Peng)

  Add `LDAP_DEPRECATED` to include prototypes for deprecated ldap functions. Also Add missing header files in autoconf check.

  Patch is created by Vladimir Petko.

- Fix assorted causes of segmentation fault. (Tatsuo Ishii)

  It is reported that pgpool and its child process segfault in certain cases when failover involved.

  Problem is reported and analyzed by Emond Papegaaij. Discussion: https://www.pgpool.net/pipermail/pgpool-general/2024-April/009131.html

- Fix uninitialized memory error. (Tatsuo Ishii)

  It was reported that valgrind found several errors including an uninitialized memory error in read_startup_packet. It allocates memory for user name in a startup packet in case cancel or SSL request using palloc, and later on the memory is used by pstrdup. Since memory allocated by palloc is undefined, this should have been palloc0.

  Problem is reported and analyzed by Emond Papegaaij. Discussion: https://www.pgpool.net/pipermail/pgpool-general/2024-April/009126.html

- Fix errors/hung up when load_balance_mode is off. (Tatsuo Ishii)

  Commit 3f3c1656 brought errors/hung up when load_balance_mode is off, primary node id is not 0 and queries are BEGIN etc.

  Bug found and analyzed by Emond Papegaaij. Discussion: https://www.pgpool.net/pipermail/pgpool-general/2024-March/009113.html

- Fix compile errors with certain CFLAGS. (Tatsuo Ishii)

  https://github.com/pgpool/pgpool2/issues/42 reported that with CFLAGS -flto=4 -Werror=odr -Werror=lto-type-mismatch -Werror=strict-aliasing gcc emits errors.

  Discussion: https://www.pgpool.net/pipermail/pgpool-hackers/2024-March/004443.html

- Fix comments in sample pgpool.conf. (Bo Peng)

  The default value for `sr_check_period` should be 10 seconds. Also fixed some typos in comments.

  Patch is created by hiroin and modified by Bo Peng.

- Remove a file under config directory. (Takuma Hoshiai)

  Remove `Makefile.in` etc. generated by `autoconf`. Create `.gitignore` under src/config and add generated files by bison and flex.

- Allow reset queries to run even if extended queries do not end. (Tatsuo Ishii)

  Commit 240c668d caused reset queries fail if extended query messages do not end. This commit fix that by checking whether we are running reset queries in SimpleQuery(). Also add the test case for this.

- Fix memory leak pointed out by Coverity. (Takuma Hoshiai)

- Guard against inappropriate protocol data. (Tatsuo Ishii)

  If a simple query message arrives before a sequence of extended query messages ends pgpool could hang. This is because the query context in the session context for the simple query is overwritten by the query contexts of the extended query messages.

  This commit implements a guard in SimpleQuery() by checking whether extended query protocol messages ended. If they do not end, raise a FATAL error. A known example detected by this checking is JDBC driver's "autosave=always" option. This means pgpool will not accept the option after this commit until the issue (sending a simple protocol message before ending extended query message protocol) is fixed by the JDBC driver side.

  Discussion: https://www.pgpool.net/pipermail/pgpool-hackers/2024-February/004428.html

## A.6.2. Documents

- Enhance "Upstream server connection" documentation. (Bo Peng)

- Language cleanup in Japanese document. (Masaya Kawamoto)

- Add the note about using `pcp_promote_node` when two postgres nodes. (Masaya Kawamoto)

  Even if there are two postgres nodes, there are cases that `follow_primary_command` is required to be set.

## A.6.3. Regression Tests

- Fix 037.failover_session. (Tatsuo Ishii)

  The test script forgot to execute shutdownall before exiting.

- Fixed regression test 005.jdbc to avoid Java 21 deprecation warnings. (Bo Peng)

  Replace Runtime.exec(String) with Runtime.exec(String[]) to avoid Java 21 deprecation warnings. Patch is created by Vladimir Petko and modified by Bo Peng.

Prev | Home | Next
Release 4.5.3 | Up | Release 4.5.1