221
221
replication, which can cause data inconsistencies if a node fails
222
222
permanently. A part of a distributed transaction might get lost and cause
223
223
a non-atomic result if the coordinator has prepared the transaction
224
- everywhere, started commiting it, but one of the nodes failed before
224
+ everywhere, started committing it, but one of the nodes failed before
225
225
committing the transaction on a replica.
226
226
</para>
227
227
@@ -973,7 +973,7 @@ manually excluded from the cluster, as follows:
973
973
<para>
974
974
Run the following command to to exclude the node from the cluster:
975
975
<programlisting>
976
- select shardman.rm_node(${failed_node_id}, force => true);
976
+ SELECT shardman.rm_node(${failed_node_id}, force => true);
977
977
</programlisting>
978
978
If redundancy level is greater than zero, <filename>pg_shardman</filename> tries to replace
979
979
primary shards stored on the excluded node with their replicas. The most advanced replica
@@ -1073,11 +1073,11 @@ iterations are the same, the deadlock is confirmed.
1073
1073
</para>
1074
1074
1075
1075
<para>
1076
- <filename>pg_shardman</filename> tries to resolve reported deadlocks
1077
- by canceling one or more backends involved in the deadlock loop using
1078
- the <function>pg_cancel_backend</function> function. This function tries
1079
- to cancel the current query, without terminating the backend. The affected backend is
1080
- randomly chosen within the deadlock loop.
1076
+ <filename>pg_shardman</filename> tries to resolve reported deadlocks by
1077
+ canceling one or more backends involved in the deadlock loop. It invokes the
1078
+ <function>pg_cancel_backend</function> function that tries to
1079
+ cancel the current query, without terminating the backend. The affected
1080
+ backend is randomly chosen within the deadlock loop.
1081
1081
</para>
1082
1082
1083
1083
<para>
@@ -1152,10 +1152,9 @@ excludes this node from the cluster, as follows:
1152
1152
</term>
1153
1153
<listitem>
1154
1154
<para>
1155
- When set to <literal>on</literal>, <filename>pg_shardman</filename>
1155
+ When this parameter is set to <literal>on</literal>, <filename>pg_shardman</filename>
1156
1156
adds replicas to the list of <xref linkend="guc-synchronous-standby-names">,
1157
- enabling synchronous replication. This parameter should not be changed
1158
- if any replicas exist.
1157
+ enabling synchronous replication.
1159
1158
</para>
1160
1159
<para>
1161
1160
Default: <literal>off</literal>
@@ -1827,9 +1826,8 @@ excludes this node from the cluster, as follows:
1827
1826
<para>
1828
1827
Monitors the cluster state to detect distributed deadlocks and node failures.
1829
1828
If a distributed deadlock is detected, <filename>pg_shardman</filename>
1830
- tries to resolve the deadlock by canceling one or more queries on the affected backend
1831
- using the <function>pg_cancel_backend</function> function. For details,
1832
- see <xref linkend="shardman-detecting-deadlocks-and-failed-nodes">.
1829
+ tries to resolve the deadlock by canceling one or more queries on the affected
1830
+ backend. For details, see <xref linkend="shardman-detecting-deadlocks-and-failed-nodes">.
1833
1831
This function is redirected to the shardlord if launched on a worker node.
1834
1832
</para>
1835
1833
<para>Arguments:
@@ -1898,7 +1896,8 @@ excludes this node from the cluster, as follows:
1898
1896
Since <filename>pg_shardman</filename> does not control WAL recycling,
1899
1897
<function>shardman.recover_xacts</function> uses clog to check
1900
1898
the transaction status. Though unlikely, <function>shardman.recover_xacts</function>
1901
- may fail to get the transaction status and resolve the transaction.
1899
+ may fail to get the transaction status and resolve the transaction
1900
+ and it has to be resolved manually.
1902
1901
</para>
1903
1902
</listitem>
1904
1903
</varlistentry>
@@ -1917,17 +1916,16 @@ excludes this node from the cluster, as follows:
1917
1916
Removes all publications, subscriptions, replication slots, foreign
1918
1917
servers, and user mappings created on the worker node by
1919
1918
<filename>pg_shardman</filename>. <productname>&project;</productname>
1920
- forbids dropping replication slots with active connection . If
1919
+ forbids dropping replication slots with active connections . If
1921
1920
<parameter>force</parameter> is <literal>true</literal>,
1922
1921
<filename>pg_shardman</filename> tries to kill <acronym>WAL</acronym> senders before
1923
- dropping the slots. This command does not affect the data
1924
- stored on this node.
1922
+ dropping the slots, without affecting the data stored on this node. Once this transaction commits, the
1923
+ <varname>synchronous_standby_names</varname> variable is set to an empty string. It is a
1924
+ non-transactional action, so there is a very small chance it won't be
1925
+ completed.
1925
1926
</para>
1926
1927
<para>
1927
- Also, immediately after transaction commit
1928
- set <varname>synchronous_standby_names</varname> variable to an empty string. It is a
1929
- non-transactional action and there is a very small chance it won't be
1930
- completed. You probably want to run it before <command>DROP EXTENSION pg_shardman</command>.
1928
+ You may want to run this function before <command>DROP EXTENSION pg_shardman</command>.
1931
1929
</para>
1932
1930
</listitem>
1933
1931
</varlistentry>
0 commit comments