What does enable-xdr in global and namespace context control?
This article explains what the
enable-xdr configuration at global and at namespace level controls and when does XDR connect to a remote DC and ship records.
enable-xdr is a dynamically configurable parameter, which exists at 2 different contexts: global as well as namespace. This controls only the logging of digest entries in the digest log. It does not control the shipping of records.
Logging into the digest log and shipping are 2 different things.
Refer to the 2
enable-xdr entries in the Log Reference Manual and notice the 2 different contexts, xdr as well as namespace.
For digests to be logged in the digest log (
xdr-digest-log-path, the global xdr context should always have
enable-xdr set to true.
Digests will not be logged in the digest log if
enable-xdr is set to false on the global level, irrespective of the value at the namespace level.
In the namespace context, for every namespace one can control whether the digest log entires should be logged for that namespace on that node by setting
enable-xdr to true or false at the namespace level.
The following table details the different possibilities:
|Namespace||xdr context||namespace context||digest logging|
For a given namespace, digest log entries will be logged only when enable-xdr is true in both the global as well as namespace contexts.
Connecting to a destination DC.
As of Aerospike Enterprise Edition 3.14, XDR will only connect to a destination DC if it is seeded at the global xdr context and if at least one namespace is associated with it.
If there are records in the digest log that have not been processed (determined by the
xdr-ship-outstanding-objects metric), XDR will keep shipping the related records irrespective of whether
enable-xdr is set to true or false. This is because
enable-xdr only determines whether the digest entries are logged into the
digest log or not.
enable-xdr does not control the shipping.
Note: By default, xdr always keep shipping if there are pending records in the digest log. This can be controlled using
It is usually not recommended to change this configuration outside of very specific situations.
XDR digestlog digest enable-xdr shipping