Skip to content

Commit 32168f0

Browse files
authored
Merge pull request #93529 from jonels-msft/hyperscale-connection-2
Improve acrolinx score for connection troubleshooting
2 parents cf68cf2 + 41dec63 commit 32168f0

File tree

1 file changed

+27
-29
lines changed

1 file changed

+27
-29
lines changed

articles/postgresql/howto-hyperscale-troubleshoot-common-connection-issues.md

Lines changed: 27 additions & 29 deletions
Original file line numberDiff line numberDiff line change
@@ -11,14 +11,14 @@ ms.date: 10/8/2019
1111

1212
# Troubleshoot connection issues to Azure Database for PostgreSQL - Hyperscale (Citus)
1313

14-
Connection problems may be caused by a variety of things, including:
14+
Connection problems may be caused by several things, such as:
1515

1616
* Firewall settings
1717
* Connection time-out
18-
* Incorrect login information
18+
* Incorrect sign in information
1919
* Connection limit reached for server group
2020
* Issues with the infrastructure of the service
21-
* Maintenance being performed in the service
21+
* Service maintenance
2222
* The coordinator node failing over to new hardware
2323

2424
Generally, connection issues to Hyperscale can be classified as follows:
@@ -28,56 +28,54 @@ Generally, connection issues to Hyperscale can be classified as follows:
2828

2929
## Troubleshoot transient errors
3030

31-
Transient errors occur when maintenance is performed, the system encounters an
32-
error with the hardware or software, or briefly after you change the vCores of
33-
your coordinator node. The nodes in a Hyperscale server group have configurable
34-
high availability designed to mitigate these types of problems automatically.
35-
However, your application can lose its connection to the server for a short
36-
period of time even with high availability enabled. Some events can
37-
occasionally take longer to mitigate, such as when a large transaction causes a
38-
long-running recovery.
31+
Transient errors occur for a number of reasons. The most common include system
32+
Maintenance, error with hardware or software, and coordinator node vCore
33+
upgrades.
34+
35+
Enabling high availability for Hyperscale server group nodes can mitigate these
36+
types of problems automatically. However, your application should still be
37+
prepared to lose its connection briefly. Also other events can take longer to
38+
mitigate, such as when a large transaction causes a long-running recovery.
3939

4040
### Steps to resolve transient connectivity issues
4141

4242
1. Check the [Microsoft Azure Service
4343
Dashboard](https://azure.microsoft.com/status) for any known outages that
44-
occurred during the time in which the errors were reported by the application.
45-
2. Applications that connect to a cloud service such as Azure Database for
46-
PostgreSQL - Hyperscale (Citus) should expect transient errors and implement
47-
retry logic to handle these errors instead of surfacing these as application
48-
errors to users.
44+
occurred during the time in which the application was reporting errors.
45+
2. Applications that connect to a cloud service such as Hyperscale (Citus)
46+
should expect transient errors and react gracefully. For instance,
47+
applications should implement retry logic to handle these errors instead of
48+
surfacing them as application errors to users.
4949
3. As the server group approaches its resource limits, errors can seem like
5050
transient connectivity issues. Increasing node RAM, or adding worker nodes
5151
and rebalancing data may help.
52-
4. If connectivity problems continue, or if the duration for which your
53-
application encounters the error exceeds 60 seconds or if you see multiple
54-
occurrences of the error in a given day, file an Azure support request by
52+
4. If connectivity problems continue, or last longer than 60 seconds, or happen
53+
more than once per day, file an Azure support request by
5554
selecting **Get Support** on the [Azure
5655
Support](https://azure.microsoft.com/support/options) site.
5756

5857
## Troubleshoot persistent errors
5958

60-
If the application persistently fails to connect to Hyperscale (Citus), it
61-
usually indicates an issue with one of the following:
59+
If the application persistently fails to connect to Hyperscale (Citus), the
60+
most common causes are firewall misconfiguration or user error.
6261

6362
* Coordinator node firewall configuration: Make sure that the Hyperscale server
6463
firewall is configured to allow connections from your client, including proxy
6564
servers and gateways.
6665
* Client firewall configuration: The firewall on your client must allow
67-
connections to your database server. IP addresses and ports of the server
68-
that you cannot to must be allowed as well as application names such as
69-
PostgreSQL in some firewalls.
70-
* User error: You might have mistyped connection parameters, such as the server
71-
name in the connection string or a missing *\@servername* suffix in the user
72-
name.
66+
connections to your database server. Some firewalls require allowing not only
67+
application by name, but allowing the IP addresses and ports of the server.
68+
* User error: Double-check the connection string. You might have mistyped
69+
parameters like the server name, or a forgot a *\@servername* suffix in the
70+
user name.
7371

7472
### Steps to resolve persistent connectivity issues
7573

7674
1. Set up [firewall rules](howto-hyperscale-manage-firewall-using-portal.md) to
7775
allow the client IP address. For temporary testing purposes only, set up a
7876
firewall rule using 0.0.0.0 as the starting IP address and using
79-
255.255.255.255 as the ending IP address. This will open the server to all IP
80-
addresses. If this resolves your connectivity issue, remove this rule and
77+
255.255.255.255 as the ending IP address. That rule opens the server to all IP
78+
addresses. If the rule resolves your connectivity issue, remove it and
8179
create a firewall rule for an appropriately limited IP address or address
8280
range.
8381
2. On all firewalls between the client and the internet, make sure that port

0 commit comments

Comments
 (0)