Releases: yandex/odyssey
1.3
In this release:
- Support for protocol-level prepared statements in transaction pooling mode. You can enable pool_reserve_prepared_statement for a database. For client sessions issuing prepared statements Odyssey will automatically prepare those statements in database processes when necessary.
- Standby lag polling. You can configure watchdog query for a database, and Odyssey will automatically prevent reading stale data.
- A lot of small bug fixes and improvements.
1.3rc
Release candidate for a new Odyssey version with two features:
- Standby lag polling
- Protocol level prepared statements support
For more info please watch CitusCon session about planned release on April 13 9am (UTC).
1.2
In this release:
- Reject extraneous data after SSL negotiation. This prevents attacks like in CVE-2021-23214 and CVE-2021-23222;
- Support for PAM and LDAP;
- Prometheus integration;
- Better transaction and query quantiles computation;
- A lot of small bug fixes and improvements.
1.1
In this release we introduced several settings. These settings are intended to tune compatibility with PgBouncer workload handling.
Now you can control in config:
- server lifetime - prevents bloat of caches for long lasting server connections
- server max routing - prevents too fast server connection allocation
- server login retry timeout - adds delay between unsuccessful server connections
- client login timeout - prevents denial of servers due to hanging clients
- add host to application_name - helps to diagnose various problems
Bugs fixed:
- Incorrect handling of GSSAPI request #92
- Incompatibility of show clients, show server, show databases with PgBouncer #97 #100 #102
- Incorrect Cancel handling (was expecting TLS connections, which is not necessary in protocol) #111
- Counting of free servers currently is exactly the same as in PgBouncer #121
Features added:
- Odyssey now computes query\transaction time quantiles within stat period
- In session pooling mode client allocates server connection only when it is required.
Breaking change:
Replication storage types are now deprecated. When client asks regular storage for logical\physical replication connection, Odyssey will ask database if it is allowed and handle connection transparently.
1.0
This is Odyssey 1.0, a scalable multi-threaded connection pooler for PostgreSQL designed for the cloud.
We are using Odyssey in production. Currently, it handles more than 1,000,000 requests per second on many hundreds of hosts. We've come a long way trying Odyssey on many various workloads.
The main features are:
- Linear scaling with the number of CPU cores.
- Different pooling modes with the ability to configure authentication, pooling mode, limits and more per pool.
- Ability to automatically rollback transactions and cancel Postgres backends on client disconnections.
- Accurate PostgreSQL error forwarding.
- Support of the replication protocol.
- Support of PAM and SCRAM authentication.
1.0rc
This is version 1.0 release candidate version of Odyssey.
We have been working through the beta stage to test Odyssey in production use and fixed a good number of bugs, leaks and peculiarities.
Main features are:
- Linear scaling with a number of CPU cores.
- Different pooling modes with the ability to configure authentication, pooling mode, limits and more per pool.
- Ability to automatically rollback transactions and cancel postgres backends on client disconnections.
- Accurate PostgreSQL error forwarding.
- Support of the replication protocol.