The Odyssey team has released version 1.5.1 of their advanced multi-threaded connection pooler for PostgreSQL and Apache Cloudberry. This update brings a host of new features and protocol refactoring, fixing many violations and improving pipeline performance.
New Features:
- Simple shared pools: Enables connection sharing across poolers, reducing total connections to the database.
pool_pin_on_listenoption: Pins client connections to a specific worker thread for transaction pooling, improving cache locality.- CPU affinity support: Pin Odyssey worker threads to specific CPU cores for better performance isolation.
- Build with aws-lc: Support for Amazon's lightweight cryptography library as an alternative to OpenSSL.
SSLKEYLOGFILEsupport: Log SSL session keys for debugging TLS connections with tools like Wireshark.- Queue time metrics: New
avg_wait_timeandtotal_wait_timemetrics expose client wait times in the pool queue. pool_notice_after_waiting_msoption: Send a NOTICE to clients when queue wait exceeds a threshold.- Server polling on attach: Transparently close failed backends before returning them to clients.
- Improved Prometheus metrics exporter: Additional metrics for deeper monitoring.
Bug Fixes:
- Recheck pool size after server creation: Prevents oversubscription.
- Cancel support fixes: Wait for PostgreSQL to close the cancel connection, fixing a race condition.
auth_queryfixes: More reliable authentication queries.- Extended protocol (
Closesupport): Correct handling ofClosemessages. DEALLOCATE ALLsupport: Properly deallocate all prepared statements.- COPY support in extended protocol: Ensures correct handling of COPY operations.
server_drop_on_cached_plan_erroroption: Drop server connections when cached plan errors occur.
These changes address long-standing issues in high-throughput environments and improve compatibility with advanced PostgreSQL features. Developers running connection-bound workloads will benefit from reduced latency and better resource utilization. The team is already preparing 1.5.2 with more enhancements.
Source: https://www.postgresql.org/about/news/odyssey-151-released-3348/