@@ -11,14 +11,14 @@ ms.date: 10/8/2019
11
11
12
12
# Troubleshoot connection issues to Azure Database for PostgreSQL - Hyperscale (Citus)
13
13
14
- Connection problems may be caused by a variety of things, including :
14
+ Connection problems may be caused by several things, such as :
15
15
16
16
* Firewall settings
17
17
* Connection time-out
18
- * Incorrect login information
18
+ * Incorrect sign in information
19
19
* Connection limit reached for server group
20
20
* Issues with the infrastructure of the service
21
- * Maintenance being performed in the service
21
+ * Service maintenance
22
22
* The coordinator node failing over to new hardware
23
23
24
24
Generally, connection issues to Hyperscale can be classified as follows:
@@ -28,56 +28,54 @@ Generally, connection issues to Hyperscale can be classified as follows:
28
28
29
29
## Troubleshoot transient errors
30
30
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.
39
39
40
40
### Steps to resolve transient connectivity issues
41
41
42
42
1 . Check the [ Microsoft Azure Service
43
43
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.
49
49
3 . As the server group approaches its resource limits, errors can seem like
50
50
transient connectivity issues. Increasing node RAM, or adding worker nodes
51
51
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
55
54
selecting ** Get Support** on the [ Azure
56
55
Support] ( https://azure.microsoft.com/support/options ) site.
57
56
58
57
## Troubleshoot persistent errors
59
58
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.
62
61
63
62
* Coordinator node firewall configuration: Make sure that the Hyperscale server
64
63
firewall is configured to allow connections from your client, including proxy
65
64
servers and gateways.
66
65
* 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.
73
71
74
72
### Steps to resolve persistent connectivity issues
75
73
76
74
1 . Set up [ firewall rules] ( howto-hyperscale-manage-firewall-using-portal.md ) to
77
75
allow the client IP address. For temporary testing purposes only, set up a
78
76
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
81
79
create a firewall rule for an appropriately limited IP address or address
82
80
range.
83
81
2 . On all firewalls between the client and the internet, make sure that port
0 commit comments