Skip to content
2 changes: 2 additions & 0 deletions modules/learn/pages/buckets-memory-and-storage/vbuckets.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -24,6 +24,8 @@ The number of vBuckets depends on the bucket's storage backend (the system that
* Buckets that use the Couchstore storage engine use 1024 vBuckets on Linux and Windows.
* Buckets that use Magma storage engine can use either 128 or 1024 vBuckets on Linux and Windows.
You choose the number of vBuckets when you create the bucket.
If you're using XDCR, review the xref:learn:clusters-and-availability/xdcr-overview.adoc#xdcr-compatibility[XDCR Compatibility] information
on vBuckets for Server versions earlier than 8.0.

The system distributes vBuckets evenly across the memory and storage resources of nodes that run the xref:services-and-indexes/services/data-service.adoc[Data Service].
The bucket's data is distributed evenly across its vBuckets.
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,26 @@ Therefore, you must not enable `enableCrossClusterVersioning` casually.
When you set the bucket property `enableCrossClusterVersioning` (ECCV) to `true`, for each document processed by XDCR, XDCR stores additional metadata for the document in the extended attributes.
This metadata is also called Hybrid Logical Vector (HLV), which is a set of Hybrid Logical Clock (HLC) information.

[NOTE]
====
Cross Cluster Versioning (ECCV) Compatibility with Couchbase Server Versions::

Starting in Couchbase Server 7.6.6, buckets include the `enableCrossClusterVersioning` (ECCV) property, which is set to `false` (disabled) by default.
+
If you set ECCV to `true` (enabled) on a bucket in an XDCR replication topology,
then you must set ECCV to `true` on all buckets participating in the XDCR replication topology.
Otherwise, dependent features may not function.
+
As the Couchbase Server versions earlier than 7.6.6 do not support the `enableCrossClusterVersioning` bucket property,
those buckets cannot participate in a replication topology containing ECCV-enabled buckets.
+
XDCR does not automatically validate ECCV property consistency across buckets.
If you want to prevent a bucket without ECCV from participating in an XDCR replication topology, then before creating or modifying XDCR replications,
you must manually verify that ECCV is disabled for all participating buckets.
+
For more information about XDCR compatibility between different versions of Couchbase Server Enterprise edition, see xref:learn:clusters-and-availability/xdcr-overview.adoc#xdcr-compatibility[XDCR Compatibility].
====

[#hlv-data-maintained-in-xattr]
== Hybrid Logical Vector (HLV) Data Maintained in the Extended Attributes

Expand Down
122 changes: 72 additions & 50 deletions modules/learn/pages/clusters-and-availability/xdcr-overview.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -267,7 +267,7 @@ If either a source or a target bucket needs to be flushed after a replication ha
[#xdcr-and-bucket-expiration]
== XDCR and Expiration

Buckets, collections, and documents have a _TTL_ setting, which determines the maximum expiration times of individual items.
Buckets, collections, and documents have a TTL setting, which determines the maximum expiration times of individual items.
This is explained in detail in xref:learn:data/expiration.adoc[Expiration].
For specific information on how TTL is affected by XDCR, see the section xref:learn:data/expiration.adoc#bucket-expiration-and-xdcr[Expiration and XDCR].

Expand All @@ -278,65 +278,87 @@ Detailed information is provided in xref:manage:manage-xdcr/monitor-xdcr-replica

[#xdcr-compatibility]
== XDCR Compatibility
[.edition]#{enterprise}#

The following table indicates XDCR compatibility between different versions of Couchbase Enterprise Server, used for source and target clusters.
The following table indicates XDCR compatibility between different versions of Couchbase Server Enterprise edition, used for source and target clusters.

[cols="6,3,3,3,3,3,3"]
[cols="4,4,4,4"]
|===
| *Enterprise Server Version*
| *7.6.x*
| *7.2.x*
| *7.1.4*, *7.1.3*, *7.1.2*, *7.1.1*
| *7.1.0*
| *7.0.x*
| *6.6.x*

| 7.6.x
| ✓
| ✓
| ✓
| ✓
| ✓
| ✓
| *8.0.x*
| *7.6.6 and later versions*
| *7.6.5*, *7.6.4*, *7.6.3*, *7.6.2*, *7.6.1*, *7.6.0*, *7.2.x*, *7.1.x*, *7.0.x*

| 7.2.x
| ✓
| ✓
| ✓
| ✓
| ✓
| 8.0.x
| ✓
| ✓*
| ✓**

| 7.1.4, 7.1.3, 7.1.2, 7.1.1
| ✓
| ✓
| ✓
| ✓
| ✓
| ✓
No ECCV

| 7.1.0
| ✓
| ✓
| ✓
| ✓
| ✓
| ❌
| 7.6.6 and later
| ✓*
| ✓*
| ✓**

| 7.0.x
| ✓
| ✓
| ✓
| ✓
| ✓
| ✓
No ECCV

| 6.6.x
| ✓
| ✓
| ✓
| ❌
| ✓
| 7.6.5, 7.6.4, 7.6.3, 7.6.2, 7.6.1, 7.6.0, 7.2.x, 7.1.x, 7.0.x
| ✓**

No ECCV
| ✓**

No ECCV
| ✓

|===

[NOTE]
====
XDCR Compatibility with vBucket Configuration (for both * and **)::

Starting in Couchbase Server 8.0, Magma storage backend buckets can have either 128 or 1024 vBuckets.
In earlier versions, all buckets had 1024 vBuckets, except on macOS.
+
When creating XDCR replications between the Couchbase Server clusters, make sure of the compatibility of number of vBuckets with the Couchbase Server version as follows:

+
--
* From pre-8.0 to 8.0:
+
The source and destination buckets must have the same number of vBuckets.
For example, when replicating from a 7.x cluster to an 8.x cluster, create the target 8.x bucket with 1024 vBuckets.

* From 8.0 to pre-8.0:
+
The vBucket counts do not need to match.
However, the vBucket count mismatch, in the source and target buckets of an XDCR topology, does not support the bi-directional replication.

* Between 8.0 and later versions:
+
Replications are supported even if the buckets have different vBucket counts.
--
+
For more information about Magma storage, see xref:learn:buckets-memory-and-storage/storage-engines.adoc[Storage Engines].
+
For more information about vBuckets, see xref:learn:buckets-memory-and-storage/vbuckets.adoc[vBuckets].


Cross Cluster Versioning (ECCV) Compatibility (for ** only)::

Starting in Couchbase Server 7.6.6, buckets include the `enableCrossClusterVersioning` (ECCV) property, which is set to `false` (disabled) by default.
+
If you set ECCV to `true` (enabled) on a bucket in an XDCR replication topology,
then you must set ECCV to `true` on all buckets participating in the XDCR replication topology.
Otherwise, dependent features may not function.
+
As the Couchbase Server versions earlier than 7.6.6 do not support the `enableCrossClusterVersioning` bucket property,
those buckets cannot participate in a replication topology containing ECCV-enabled buckets.
+
XDCR does not automatically validate ECCV property consistency across buckets.
If you want to prevent a bucket without ECCV from participating in an XDCR replication topology, then before creating or modifying XDCR replications,
you must manually verify that ECCV is disabled for all participating buckets.
+
For more information about ECCV, see xref:learn:clusters-and-availability/xdcr-enable-crossclusterversioning.adoc[XDCR enableCrossClusterVersioning].
====