Skip to content

Excessive LOG-level pi->node_ids messages in 4.7.x on every query when load balancing is enabled #153

@yishait-tailor

Description

@yishait-tailor

Description

After upgrading from pgpool-II 4.6.2 to 4.7.1, we observe massive LOG-level output on every query routed through the load balancer. The message pi->node_ids[0]:N pi->node_ids[1]:0 is emitted dozens of times per query, flooding container logs and significantly increasing logging costs in Kubernetes environments.

Version

  • pgpool-II 4.7.1 (tasukiboshi)
  • Not present in 4.6.2

Configuration

log_per_node_statement = off
log_client_messages = off
log_connections = off
log_hostname = off
log_min_messages = warning (default)
num_init_children = 160
max_pool = 20
enable_load_balancing = yes
disable_load_balance_on_write = transaction

Observed output

2026-03-04 16:52:49.141: [unknown] pid 376: LOG:  pi->node_ids[0]:3 pi->node_ids[1]:0
2026-03-04 16:52:49.141: [unknown] pid 376: LOG:  pi->node_ids[0]:3 pi->node_ids[1]:0
2026-03-04 16:52:49.141: [unknown] pid 376: LOG:  pi->node_ids[0]:3 pi->node_ids[1]:0
(repeats hundreds of times per minute under normal traffic)

Impact

  • These messages are at LOG level, which in pgpool's log_min_messages hierarchy sits above ERROR and WARNING, so they cannot be suppressed without also losing ERROR messages
  • Under moderate traffic (~10 active connections), this produces thousands of log lines per minute per pod
  • In containerized/Kubernetes deployments where stdout is collected, this causes significant log storage costs

Expected behavior

This message appears to be internal debug output from the load balancing node selection code. It should be emitted at DEBUG1 or DEBUG2 level, not LOG, so that it is only visible when explicitly enabling debug logging.

Steps to reproduce

  1. Configure pgpool-II 4.7.1 with 2 backend nodes and enable_load_balancing = yes
  2. Send any SQL query through pgpool
  3. Observe stdout/log output

Environment

  • Running in Kubernetes via Bitnami pgpool container image
  • 2 backend nodes (primary + replica)
  • Same configuration on 4.6.2 does not produce this output

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions