Release Notes¶
Release 2.0.3 (2022-3-31)¶
Enhancements¶
HARPProxysupportsread-onlyuserdedicatedTLSCertificate
You may specify a TLS Certificate and Key in the HARP Proxy DSN for the DCS read-only user. (78516, HNG-522)
Bug Fixes¶
HARP Proxy will continue to try and connect to DCS instead of exiting after 50 seconds. (75406, HNG-548, HNG-560, HNG-561)
Release 2.0.2 (2022-2-24)¶
Enhancements¶
ConnectionThrottlingforBuiltinProxy
You can now specify the maximum number of connections that could be used by
builtinproxy. The proxy will adjust downward the number of connections to fit within your calculated system resource limits. (75406, 79250, HNG-489, HNG-498, HNG-503, HNG-508)
CAMOdisabledforBDRDCS
HARP disables CAMO for its connection to the database to avoid performance degradation when using BDR for the Distributed Consensus System (DCS). (HNG-438)
ImprovedSecurityforHARPProxy
You can specify a user with read-only DCS permissions for the
builtinproxy. (75406, HNG-452)
Start,Stop,StatushooksformanagingPostgres
You can provide start, stop, and status commands in the HARP Manager configuration for starting postgres, stopping postgres, and retrieving the status of postgres. If you do not provide commands then systemd is used by default. (HNG-492)
PgbouncerhasbeenremovedasadependencyforHARPProxyrpmanddebpackages.
Pgbouncer will not be installed unless you select
pgbounceras theharp_proxy_mode. (HNG-511)
HARPManagerhasimprovedperformancecommunicatingwithBDRDCS
HARP Manager only communicates with BDR DCS using a local UNIX domain socket. (78516,HNG-494)
Builtinproxyisnowthedefaultproxy
If pgbouncer was being used by default in a previous release, the
harp_proxy_modemust now be specified aspgbouncerto continue as the proxy on upgrade. (HNG-511)
Binariesnowmatchservicenames
The
harp_managerbinary is now namedharp-manager. Correspondingly, theharp_proxybinary is now namedharp-proxy. Symlinks with the previous names are provided. (HNG-514)
ImprovedHarpManagerdefaults
Lag configuration defaults are now set to be off by default. Duration of leader lease now has a default setting of 6 seconds. Leader lease renewal setting is now defaulted to 2 seconds. (HNG-520)
Bug Fixes¶
HARP Manager now stops the database on exit. (HNG-497)
HARP Proxy no longer leaks connections when using the
builtinproxy. (75406,HNG-445)HARP Proxy no longer erroneously reports “splice: connection reset by peer” when connections are closed for
builtinproxy. (75406, HNG-445,)Harpctl now returns when querying for
builtinorpgbouncerproxy status. (HNG-499)harpctl get clusteroutput no longer contains leader and previous leader fields. (HNG-483)Harpctl now validates proxy name when executing proxy related commands. (HNG-471)
Harpctl now reports correct routing status for leader. (HNG-441)
HARP configuration files now contain the correct configuration parameters for the corresponding proxy–
builtinorpgbouncer. (78516, HNG-456)TPAExec no longer creates a confusing DSN for DCS endpoint with a duplicate user. (78516, HNG-495)
request_timeoutconfiguration parameter does not need unit specified, which are in milliseconds. (78363, HNG-504)The
listen_portandlisten_hostsettings can now be configured per proxy instance using TPAExec. (78848, HNG-456)Subscriber only nodes,which cannot become leader nodes,are no longer considered for leadership. (78516, HNG-411)
Known Issues¶
When a previously isolated shadow node returns back as an active cluster node this triggers a raft election and leadership change.
Promoting a node may cause a different node to be promoted. A race for leadership occurs between the eligible nodes. The first eligible node will become leader. Use the
--forceoption with the promote command to have the desired node become leader.Harpctl cannot return the HARP Proxy version if HARP Proxy is configured with read only user access for BDR DCS. The version information cannot be stored by a user with read only permissions. This leads to missing version information for proxy when using harpctl to query version information.
After fencing the database with the stop database option, if the HARP Manager is restarted and BDR DCS is configured, the database will be restarted, but will be in a fenced state.
use_unix_sockwill not work when deploying EDB Postgres Advanced Server. The default UNIX socket directory is not determined correctly for EDB Postgres Advanced Server.
Release 2.0.1 (2022-1-31)¶
Enhancements¶
BDR consensus now generally available
HARP offers multiple options for Distributed Consensus Service (DCS) source: etcd and BDR. The BDR consensus option can be used in deployments where etcd is not present. Use of the BDR consensus option is no longer considered beta and is now supported for use in production environments.
Transport layer proxy now generally available
HARP offers multiple proxy options for routing connections between the client application and database: application layer (L7) and transport layer (L4). The network layer 4 or transport layer proxy simply forwards network packets, whereas layer 7 terminates network traffic. The transport layer proxy, previously called simple proxy, is no longer considered beta and is now supported for use in production environments.
Release 2.0.0 (2021-12-01)¶
Engine¶
Complete rewrite of system in golang to optimize all operations
Cluster state can now be bootstrapped or revised via YAML
Configuration¶
Rewritten in YAML
Configuration file changed from
harp.initoconfig.yml
Enhancements¶
HARP Proxy deprecates need for HAProxy in supported architecture.
The use of HARP Router to translate DCS contents into appropriate online or offline states for HTTP-based URI requests meant a load balancer or HAProxy was necessary to determine the Lead Master. HARP Proxy now does this automatically without periodic iterative status checks.
Utilizes DCS key subscription to respond directly to state changes.
With relevant cluster state changes, the cluster will respond immediately, thereby resulting in improved failover and switchover times.
Compatibility with etcd SSL settings.
It is now possible to communicate with etcd through SSL encryption.
Zero transaction lag on switchover.
The new lead node will not have transactions routed to it until all replicated transactions are replayed, thereby reducing the potential for conflicts.
Experimental BDR Consensus layer
Using BDR Consensus as the Distributed Consensus Service (DCS) reduces amount of change needed for implementations.
Experimental Proxy
Proxy implementation for increased session control.
Release 1.0.1 (2021-06-23)¶
Documentation¶
Standardize resolution of the
HARPacronym
Bug fixes¶
Fix CAMO lag check to accommodate cases where
maximum_camo_lagis set to0
Release 1.0 (2021-06-15)¶
Enhancements¶
--dry-runoption added toharpctl leader setminimum configuration values will be enforced
lock_intervalparameter can be specified as fractions of a secondlogging and output improvements
replication lag query updated to handle parallel apply
Bug fixes¶
harpctlreturns an error code ifleader setfailsprevent corner-case failure when node peer progress not returned
handle potentially empty node record
catch unhandled exception when deciding the lead node candidate
Release 0.2 (2021-02-23)¶
This is a maintenance release with following changes:
documentation available via the EnterpriseDB customer portal
report non-availability of nodes other than the lead master
when using BDR as a DCS layer, fix potential failure situations when a BDR node is not running
fixes RPM packaging issue preventing a new start on fresh installations
Release 0.1 (2020-08-13)¶
This is an initial beta release providing HARP support for BDR, including:
Usage of native BDR (3.6.21 and later) as a consensus layer
Usage of etcd as a consensus layer
Note that currently HARP does not support operation on a physical streaming replica when BDR is used as a consensus layer.