All Products
Search
Document Center

PolarDB:PolarProxy release notes

Last Updated:Sep 30, 2024

This topic describes the release notes for PolarProxy in PolarDB for PostgreSQL.

V2.3.53 (Release date: 2024-08-16)

Category

Description

New feature and feature optimization

The short transaction forwarding performance is optimized.

Fixed issues

  • The following issue is fixed: If a read-only endpoint for active requests-based load balancing has high latency, node routing cannot be selected.

  • The following issue is fixed: In some cases, if Parse packets fail to be replayed, a connection may be closed.

  • The following issue is fixed: If the PREPARE statement fails to be executed, memory leaks may occur.

V2.3.52 (Release date: 2024-07-03)

Category

Description

New feature and feature optimization

Global consistency is supported.

Fixed issues

  • The following issue is fixed: If a large number of error messages are returned, PolarProxy unexpectedly exits.

  • The following issue is fixed: The advanced transaction splitting settings for multiple custom endpoints may be inconsistent.

  • The following issue is fixed: Packets of mixed protocols cannot be parsed.

  • The following issue is fixed: Memory is not properly released after the system parses Close packets, which causes memory leaks.

V2.3.51 (Release date: 2024-05-28)

Category

Description

New features and feature optimization

  • Mutual authentication, forced SSL connections, the certificate revocation list (CRL) feature, and Transport Layer Security (TLS) 1.3 are supported by SSL.

  • Packets can be split.

  • The API operations of PolarDB for PostgreSQL Serverless clusters are supported.

  • The master_failure_mode parameter can be specified to allow read-only nodes to provide services if the primary node is disconnected.

  • The enable_master_retry_req parameter is added. The default value of the parameter is false. If the parameter is set to false, the requests that fail on read-only nodes are not forwarded to the primary node.

  • The replay logic is optimized. The Parse and Close packets are replayed and sent together.

  • A connection can be established if the authentication on the primary node is successful but the authentication on a read-only node fails.

Fixed issues

  • The following issue is fixed: Parse packets that are marked as master_read are not sent to other nodes.

  • The following issue is fixed: If you execute the DEALLOCATE statement to release a resource, type_mask cannot be detected from the PREPARE statement.

  • The following issue is fixed: The length of the is_superuser array is invalid.

  • The following issue is fixed: If the permission verification fails, a message that indicates the permission verification is successful is returned.

  • The following issue is fixed: If SSL is enabled and the ssl_version parameter is not specified, PolarProxy unexpectedly exits.

  • The following issue is fixed: If the processing of auth packages with exceptions is not terminated in a timely manner, PolarProxy unexpectedly exits.

V2.3.50 (Release date: 2024-03-29)

Category

Description

New features and feature optimization

  • Persistent connections are supported.

  • Read/write splitting and automatic routing for SQL statements that use functions are optimized.

Fixed issues

  • The following issue is fixed: After a read-only node is reconnected, the status of transactions on the node is inconsistent with the status of transactions on the primary node.

  • The following issue is fixed: If the connection pool feature is enabled, the connection of a read-only node cannot be added back to the pool.

V2.3.49 (Release date: 2024-02-05)

Category

Description

Fixed issues

  • The following issue is fixed: The transaction status of read-only endpoints is inconsistent.

  • Two memory leak issues are fixed.

  • The following issue is fixed: When the system parses startup packets, C-style strings are out of bounds.

V2.3.48 (Release date: 2024-01-19)

Category

Description

New feature and feature optimization

Active requests-based load balancing is supported as the load balancing policy of a read-only endpoint.

Fixed issues

  • The following issue is fixed: If the transaction-level connection pool feature is enabled and you use MySQL functions to identify the types of PostgreSQL packets, the packets are dropped.

  • The following issue is fixed: When you call the /v1/maxscale operation to specify the threads parameter, the kernel unexpectedly exits.

V2.3.47 (Release date: 2023-08-31)

Category

Description

Fixed issue

The following issue is fixed: If the transaction-level connection pool feature is enabled and statements fail to be executed in transactions, connections are reused.

V2.3.46 (Release date: 2023-08-08)

Category

Description

New feature and feature optimization

The transaction-level connection pool feature is supported.

Fixed issue

The following issue is fixed: Read-only endpoints are inaccessible or unable to provide services as expected.

V2.3.34 (Release date: 2023-06-06)

Category

Description

New feature and feature optimization

The /*force_session_to_master*/ hint is available to route all requests for a session to the primary node.

Fixed issues

  • The following issue is fixed: Loads are unevenly distributed if the least recently used (LRU) algorithm is applied.

  • The following issue is fixed: /*force_master*/ does not take effect if an SQL statement contains \t\n.

  • The following issue is fixed: Memory leaks occur during authentication with PostgreSQL.

  • The following issue is fixed: Read-only endpoints are inaccessible or unable to provide services as expected.

V2.3.33 (Release date: 2022-11-16)

Category

Description

Fixed issues

  • The following issue is fixed: Read requests are not evenly distributed among read-only endpoints.

  • The following issue is fixed: A cluster does not respond if it has more than 32 CPU cores.

V2.3.31 (Release date: 2022-08-11)

Category

Description

Fixed issues

  • The management system is compatible with PolarDB for PostgreSQL 14 if the configurations of the system are refreshed.

  • When pgmon is used to detect the connection to a database, the IP address and port of PolarProxy are validated by the database.

  • The function names in a whitelist are not case-sensitive.

  • PolarProxy does not continuously pull whitelists when the whitelists are counted.

V2.3.28 (Release date: 2022-02-21)

Category

Description

New feature and feature optimization

Graceful restart of clusters is supported.

Fixed issue

Transaction splitting is optimized. A parameter is added to specify whether to enable transaction splitting.

V2.3.26 (Release date: 2021-09-16)

Category

Description

Fixed issue

The parameters related to TCP keepalive can be specified in PolarProxy. This ensures the consistent behavior of TCP keepalive in different environments without relying on system parameters.

V2.3.25 (Release date: 2021-09-07)

Category

Description

Fixed issues

  • Parse packets are optimized. Parse packets with write attributes are not broadcast to read-only nodes.

  • The routing of global temporary tables is optimized.

  • Information management is optimized for the whitelists of function names and table names.

  • The unit of read-only latency is changed to milliseconds. The default latency is 300 ms.

V2.3.24 (Release date: 2021-09-01)

Category

Description

Fixed issue

The packet length is not checked for read-only endpoints.

V2.3.23 (Release date: 2021-06-03)

Category

Description

Fixed issues

  • A read-only node remains in the Running state if a connection timeout occurs during detection. Other nodes remain in the modifying state in case of failed detection.

  • If the detection process for checking whether a connection to a read-only node is established times out, the backend cannot establish a connection to the read-only node when the client establishes a connection to the read-only node.

  • Global temporary tables can be identified and routed.

  • The following issue is fixed: A large number of broadcast requests cause memory bloating.

V2.3.21 (Release date: 2021-04-20)

Category

Description

New features and feature optimization

  • The monitor can be used to check the values of internal variables.

  • The parameter for forced routing to the primary node is added.

Fixed issues

  • When the monitor starts, internal variables are initialized based on your settings.

  • The throttling mechanism is supported.

V2.3.16 (Release date: 2021-02-22)

Category

Description

Fixed issues

  • When extended query packets are split and continuous E/v packets occur, extended query packets are split at the last E/v packet.

  • By default, extended query packets are not split.

  • The parameter information is carried when Parse packets are replayed.

  • Only one connection is established by the monitor within each detection cycle and used to detect other necessary information.

V2.3.15 (Release date: 2020-12-28)

Category

Description

Fixed issues

  • The routing whitelists of functions and tables are optimized. nextval is removed from the routing whitelists of functions. Some system tables are added to the routing whitelists of tables.

  • The routing node for Bind packets is recorded. If Execute packets are separately routed, the routing is based on the routing node for Bind packets.

  • Extended query packets are split starting with Bind and ending with Execute.

  • If a transaction routed to the primary database does not contain Execute packets, it can be considered that no write operations are performed on the current transaction. Subsequent read requests can still be routed to read-only nodes.

  • SYNC packets are not forcibly routed until all results for broadcast packets are received.

  • The following issue is fixed: If a read-only node is disconnected when a connection is established, the client is disconnected.

  • The enable_split_ext_pkts parameter is added. Extended query packets are not split if the enable_split_ext_pkts parameter is set to off.

  • No requests are routed after the primary node is disconnected.

  • The following issue is fixed: New requests are stuck if all read-only nodes are unavailable.

  • The transaction start, commit, and rollback statements are broadcast.

V2.3.14 (Release date: 2020-09-29)

Category

Description

New feature and feature optimization

Transactions that contain statements for read requests after write requests at the READ COMMITTED isolation level can be split and distributed to read-only nodes.

Fixed issues

  • Reconnections to a read-only node are optimized. After the read-only node is disconnected, the node is reconnected only when the monitor detected that the read-only node is in the healthy state.

  • The following issue is fixed: The primary node is not automatically added if the read/write endpoints are in the Stopped state.

  • The following issue is fixed: If the database cannot be connected because it is unhealthy, a message about an unhealthy database is returned to the client.

V2.3.12 (Release date: 2020-08-19)

Category

Description

Fixed issue

The issue of dual primary nodes is fixed. When a new primary node is added, the flag bit of the old primary node is removed because the old primary node cannot be connected.

V2.3.10 (Release date: 2020-06-29)

Category

Description

New feature and feature optimization

Custom endpoints are supported.

Fixed issues

  • If the cluster endpoints in read and write mode do not contain the primary node, the monitor automatically adds the primary node to the cluster endpoints in read and write mode.

  • The following issue is fixed: The connection is stuck if the client sends a SYNC packet after PolarProxy sends broadcast packets and before a read-only node returns a result.

V2.3.8 (Release date: 2020-04-02)

Category

Description

Fixed issues

  • Extended query packets are split. The packets that contain BEGIN or SET are extracted from repeated packets and then separately processed and transmitted.

  • In the transaction splitting process, if the connection is enabled and routed to a read-only node, you must change the state of the transaction in the packet to Transaction in Progress.

V2.3.7 (Release date: 2020-03-20)

Category

Description

New feature and feature optimization

The transaction splitting feature is supported by PolarDB for PostgreSQL.

Fixed issues

  • Before you query whether a table is added to the whitelist, PolarProxy checks whether the table exists. If the table does not exist, the process of querying whether the table is added to the whitelist is skipped.

  • A multi-statement that contains only the SET statement and read requests is no longer broadcast, but routed directly to the primary node.

V2.3.6 (Release date: 2020-03-12)

Category

Description

New features and feature optimization

  • Automatic reconnections to read-only nodes are supported: Read-only nodes can be automatically reconnected after the nodes are disconnected due to exceptions.

  • Nodes can be dynamically added.

Fixed issues

  • The following issue is fixed: When you call an API operation to delete a read-only node, the read-only node is not disconnected.

  • EDB-protocol packets are supported.

  • If PolarProxy has not obtained a password when it establishes a connection, PolarProxy first obtains a password from the database.

V2.3.3 (Release date: 2020-02-13)

Category

Description

New feature and feature optimization

The dynamic whitelists of function names and table names are supported.

Fixed issue

JSON-related functions are added to the built-in function whitelist of PolarProxy.

V2.3.1 (Release date: 2020-02-04)

Category

Description

Fixed issues

  • By default, the feature that the primary node can process read requests is disabled.

  • The following issue is fixed: SSL blocks the main thread of PolarProxy.

V2.3.0 (Release date: 2020-01-03)

Category

Description

New features and feature optimization

  • SSL is supported.

  • Connections can be established in synchronous mode.

  • The cancel request feature is supported.

  • Database version information can be detected by the monitor.

  • Multi-node results of the pg_stat_activity, pg_locks, and pg_stat_ssl views can be merged.

Fixed issue

The following issue is fixed: Memory leaks occur in the parser.

V2.2.2 (Release date: 2019-12-18)

Category

Description

Fixed issues

  • The hint information in the PREPARE statement can be inherited in the EXECUTE statement.

  • The following issue is fixed: The primary node is not locked for the SET statement in a stored procedure or transaction.

  • The following issue is fixed: A query causes PolarProxy to unexpectedly exit if the primary node does not process read requests and all read-only nodes have zero weights.

  • The following issue is fixed: The offload reads from the primary node feature cannot be enabled on existing connections.

V2.2.1 (Release date: 2019-11-13)

Category

Description

Fixed issues

  • TCP keepalive is enabled after TCP three-way handshake.

  • Specific read request functions are added to the function whitelist.

V2.2.0 (Release date: 2019-10-24)

Category

Description

New feature and feature optimization

The /* force_master */ and /* force_slave */ hints are added.

Fixed issues

  • Multi-statement routing is optimized. The primary node is not locked if a multi-statement contains only the SET and SELECT statements.

  • The original request is replayed to the primary node if a read-only node returns an error.

  • The issue of routing SHOW statements to the primary node is fixed.

V2.1.0 (Release date: 2019-09-12)

Category

Description

Fixed issues

  • The PostgreSQL protocol is supported.

  • The survival status, primary/secondary status, Log Sequence Numbers (LSNs), and replication delay (microseconds) of a PolarDB for PostgreSQL cluster can be detected by the monitor.

  • The read/write splitting feature is supported.

  • The session-level read consistency and table-level read consistency features are supported. By default, the table-level read consistency feature is disabled because the feature has multiple limits. By default, the session-level read consistency feature is enabled.