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

# A.188. Release 3.6.6

> Release Date: 2017-09-05

## A.188.1. Bug fixes

- Fix Pgpool-II hanging when error occurs in streaming replication mode and extended query. (Tatsuo Ishii)

  If backend returns ERROR, Pgpool-II reads message from frontend until a `sync` message is sent. Previous code assumed next message is `sync`. However it is possible that more message coming before the `sync` message, it's a low probability though. Fix it to continue reading messages until the `sync` message is read.

- Fix `wd_authkey` bug in that a request to add new node to the cluster is rejected by master. (Yugo Nagata)

  This is a bug due to the implementation of 3.5.6 and 3.6.3.

  This changed the definition of tv_sec that is used to check wd_authkey so that this was affected by the clock of OS. So, if there is a lag between two nodes' clocks, the wd_authkey check fails.

- Test: Fix load balance test driver. (Tatsuo Ishii)

  Some tests only for native replication mode was executed in streaming replication mode as well.

- Fix not working `slony` mode in extended query. (Tatsuo Ishii)

  When response returned from backend, in progress flag was not reset in `slony` mode, which cause waiting for next message from backend in vain.

- Fix ancient bug of stream write modules. (Tatsuo Ishii)

  Fix bug with `pool_write_noerror()` when requested length exceeds remaining write buffer size. This could lead to a buffer overrun problem.

  When write buffer is full, `pool_flush_it()` is called, which could write data to socket in the middle of message. To fix the problem directly write requested data if the write buffer is going to be full.

  Enhance performance of `pool_unread()`.

- Test: Some miscellanies small fixes in regression test scripts. (Muhammad Usama)

- Doc: Fix documentation about load-balancing. (Yugo Nagata)

- Fix core dump and mishandling of temp tables. (Tatsuo Ishii)

- Fix ancient bug of `pool_unread()`. (Tatsuo Ishii)

  When `realloc()` is called in `pool_unread()`, it did not update the buffer size. This could cause variety of memory corruption and unexpected data reading from backend. The reason why we did not found that is, probably recently Pgpool-II starts extensively to use `pool_unread()`.

- Fix handling of empty queries. (bug 328) (Tatsuo Ishii)

  When empty query (empty string or all comment query) is sent, command complete message was returned to frontend. This is not correct. An empty query response should be returned to frontend.

- Fix query cache bug with streaming replication mode and extended query case. (Tatsuo Ishii)

- Fix memory leak with streaming replication mode/extended query case. (bug 324) (Tatsuo Ishii)

- Test: Fix Java program in 005.regression test. (Tatsuo Ishii)

- Fix for when failover is triggered by worker process, it is possible that wrong DB node could failover. (bug 303) (Tatsuo Ishii)

  This is due to the db_node_id member in the `POLL_CONNECTION` structure is not initialized in the process (in child process the member is properly initialized). To solve the problem, add new function `pool_set_db_node_id()` to set the structure member variable and call it inside `make_persistent_db_connection()`.

- Fix starting unnecessary transaction when `SET` command is issued. (Tatsuo Ishii)

- Fix for [pgpool-general: 5621] `Failover()` function should be executed with health check alarm disabled. (Muhammad Usama)

- Fix Pgpool-II hung up bug or other errors in error case in extended query in replication mode. (Tatsuo Ishii)

  And other fixes in this commit.

  1) Do not send intended error query to backend in streaming replication mode in `ErrorResponse3()`.

  2) Fix `pool_virtual_master_db_node_id()` to return the virtual_master_node_id only when query is in progress and query context exists.

- Doc: Fix Pgpool-II document typo. (Bo Peng)

- Allow make dist to include `pgpool.service`. (Yugo Nagata)

## A.188.2. Enhancements

- Doc: Add new English and Japanese documents of Pgpool-II + Watchdog Setup Example. (Bo Peng)

- Test: Add more memory leak regression tests. (Tatsuo Ishii)

Prev | Home | Next
Release 3.6.7 | Up | Release 3.6.5