Skip to content

Commit f9a650f

Browse files
committed
Merge branch 'main' into feat-ros-8.2
2 parents 5084029 + b979e97 commit f9a650f

File tree

9 files changed

+294
-49
lines changed

9 files changed

+294
-49
lines changed

assets/css/index.css

Lines changed: 19 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -23,16 +23,28 @@ section.prose {
2323
@apply font-geist
2424
}
2525

26-
.prose h1,
27-
.prose h3,
28-
.prose h4,
29-
.prose h5,
30-
.prose h6 {
31-
@apply font-normal;
26+
.prose h1 {
27+
@apply text-4xl font-normal break-words;
3228
}
3329

3430
.prose h2 {
35-
@apply text-lg font-medium pb-3 border-b border-b-redis-pen-700 border-opacity-50;
31+
@apply text-2xl font-medium pb-3 border-b border-b-redis-pen-700 border-opacity-50;
32+
}
33+
34+
.prose h3 {
35+
@apply text-xl font-semibold;
36+
}
37+
38+
.prose h4 {
39+
@apply text-lg font-medium;
40+
}
41+
42+
.prose h5 {
43+
@apply text-base font-medium;
44+
}
45+
46+
.prose h6 {
47+
@apply text-sm font-medium;
3648
}
3749

3850
.prose p, .prose ol, .prose ul {
@@ -47,10 +59,6 @@ section.prose {
4759
@apply bg-none font-monogeist;
4860
}
4961

50-
.prose h1 {
51-
@apply text-4xl break-words;
52-
}
53-
5462
.prose h1[id],
5563
.prose h2[id],
5664
.prose h3[id],

config.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -55,7 +55,7 @@ rdi_redis_gears_version = "1.2.6"
5555
rdi_debezium_server_version = "2.3.0.Final"
5656
rdi_db_types = "cassandra|mysql|oracle|postgresql|sqlserver"
5757
rdi_cli_latest = "latest"
58-
rdi_current_version = "1.12.1"
58+
rdi_current_version = "1.12.2"
5959

6060
[params.clientsConfig]
6161
"Python"={quickstartSlug="redis-py"}

content/glossary/_index.md

Lines changed: 168 additions & 34 deletions
Large diffs are not rendered by default.

content/integrate/redis-data-integration/installation/upgrade.md

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -82,6 +82,26 @@ If there is an active pipeline, upgrade RDI on the active VM first.
8282
This will cause a short pipeline downtime of up to two minutes.
8383
Afterwards, upgrade RDI on the passive VM. This will not cause any downtime.
8484

85+
{{< warning >}}
86+
When upgrading from RDI < 1.8.0 to RDI >= 1.8.0 in a VM HA setup, both RDI instances may incorrectly consider themselves active after the upgrade. This occurs because the upgrade process doesn't change the cluster id value from its default `cluster-1`, causing both clusters to assume they are the active cluster.
87+
88+
**Symptoms:**
89+
90+
- The upgraded passive node will start collector and processor components
91+
- Collector may enter a crash loop as it fails to connect to the source
92+
- Both clusters will restart in a loop
93+
94+
**Workaround:**
95+
96+
After upgrading, manually set a unique cluster ID for one of the installations (preferably on the passive instance):
97+
98+
1. Locate the RDI configuration file on the VM host. The file is typically located at `/etc/rdi/rdi-sys-config.yaml`.
99+
2. Open the configuration file in a text editor. For example:
100+
101+
```bash
102+
sudo nano /etc/rdi/rdi-sys-config.yaml
103+
{{< /warning >}}
104+
85105
## Upgrading a Kubernetes installation
86106
87107
Follow the steps below to upgrade an existing
Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,34 @@
1+
---
2+
Title: Redis Data Integration release notes 1.12.2 (July 2025)
3+
alwaysopen: false
4+
categories:
5+
- docs
6+
- operate
7+
- rs
8+
description: |
9+
RDI Collector API now properly supports MariaDB.
10+
Extend adding custom labels and annotations to all resources in the RDI Helm chart.
11+
linkTitle: 1.12.2 (July 2025)
12+
toc: 'true'
13+
weight: 980
14+
---
15+
16+
{{< note >}}This maintenance release replaces the 1.12.1 release.{{< /note >}}
17+
18+
RDI’s mission is to help Redis customers sync Redis Enterprise with live data from their slow disk-based databases to:
19+
20+
- Meet the required speed and scale of read queries and provide an excellent and predictable user experience.
21+
- Save resources and time when building pipelines and coding data transformations.
22+
- Reduce the total cost of ownership by saving money on expensive database read replicas.
23+
24+
RDI keeps the Redis cache up to date with changes in the primary database, using a [_Change Data Capture (CDC)_](https://en.wikipedia.org/wiki/Change_data_capture) mechanism.
25+
It also lets you _transform_ the data from relational tables into convenient and fast data structures that match your app's requirements. You specify the transformations using a configuration system, so no coding is required.
26+
27+
## Headlines
28+
29+
- RDI Collector API now properly supports MariaDB.
30+
- Extend adding custom labels and annotations to all resources in the RDI Helm chart. Includes the webhook certificate management jobs.
31+
32+
## Limitations
33+
34+
RDI can write data to a Redis Active-Active database. However, it doesn't support writing data to two or more Active-Active replicas. Writing data from RDI to several Active-Active replicas could easily harm data integrity as RDI is not synchronous with the source database commits.

content/integrate/redis-data-integration/release-notes/rdi-1-8-0.md

Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -87,3 +87,29 @@ The RDI operator has been significantly enhanced in the following areas:
8787
## Limitations
8888

8989
RDI can write data to a Redis Active-Active database. However, it doesn't support writing data to two or more Active-Active replicas. Writing data from RDI to several Active-Active replicas could easily harm data integrity as RDI is not synchronous with the source database commits.
90+
91+
## Known Issues
92+
93+
### High Availability upgrade issue
94+
95+
When upgrading from RDI < 1.8.0 to RDI >= 1.8.0 in an HA setup, both RDI instances may incorrectly consider themselves active after the upgrade. This occurs because the upgrade process doesn't update the `rdi:ha:lock` value from the legacy `cluster-1` identifier, causing both clusters to assume they are the active cluster.
96+
97+
**Symptoms:**
98+
99+
- The upgraded passive node will start collector and processor components
100+
- Collector may enter a crash loop as it fails to connect to the source
101+
- Both clusters will restart in a loop
102+
103+
**Workaround:**
104+
105+
After upgrading, manually set a unique cluster ID for one of the installations by editing the configmap:
106+
107+
```bash
108+
kubectl edit cm -n rdi rdi-sys-config
109+
```
110+
111+
Then add the following line to distinguish between the clusters:
112+
113+
```bash
114+
RDI_CLUSTER_ID: cluster-2
115+
```

content/operate/kubernetes/re-clusters/multi-namespace.md

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -89,6 +89,15 @@ roleRef:
8989
apiGroup: rbac.authorization.k8s.io
9090
```
9191

92+
{{<note>}}
93+
**Alternative approach**: Instead of creating individual `Role` objects for each namespace, you can create a single `ClusterRole` and bind it with multiple `RoleBinding` objects. This reduces the number of objects and simplifies role management.
94+
95+
To use this approach:
96+
1. Change `kind: Role` to `kind: ClusterRole` in the role definition above
97+
2. Change `roleRef.kind: Role` to `roleRef.kind: ClusterRole` in the role binding definition above
98+
3. Apply the ClusterRole once globally, then apply a RoleBinding in each managed namespace
99+
{{</note>}}
100+
92101
Apply the files, replacing `<managed-namespace>` with your own values:
93102

94103
```sh

content/operate/rc/databases/configuration/data-eviction-policies.md

Lines changed: 11 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,17 @@ For each database, you can choose from these data eviction policies:
3535

3636
## Prevent data eviction
3737

38-
Redis Cloud supports [Auto Tiering]({{< relref "/operate/rs/databases/auto-tiering/" >}})
38+
Redis Cloud supports [Auto Tiering]({{< relref "/operate/rs/databases/auto-tiering/" >}})
3939
to prevent data eviction but maintain high performance.
4040

4141
Auto Tiering can extend your database across RAM and Flash Memory and intelligently manage "hot" (active) data in RAM and "cold" (less active) data in Flash memory (SSD).
42+
43+
## Active-Passive replication considerations
44+
45+
When using [Active-Passive replication]({{< relref "/operate/rc/databases/migrate-databases#sync-using-active-passive" >}}), eviction and expiration only operate on the source (active) database. The target database does not evict or expire data while Active-Passive is enabled.
46+
47+
Do not write to the target database while Active-Passive is enabled. Doing so can cause the following issues:
48+
49+
- The target database cannot rely on eviction or expiration to manage local writes, requiring sufficient memory to handle both replicated data and local writes.
50+
- Local writes create differences between the source and target databases, causing replicated commands to behave differently on each database.
51+
- Inconsistent data can cause replicated commands to fail with errors, which will cause the synchronization process to exit and break replication.

content/operate/rc/databases/migrate-databases.md

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -56,7 +56,7 @@ Before you use Active-Passive, be aware of the following limitations:
5656

5757
- An error will appear when syncing the two databases if the source and target databases are hosted on different Redis Cloud accounts. [Contact support](https://redis.io/support/) if you want to migrate a database between accounts using Active-Passive.
5858

59-
- As long as Active-Passive is enabled, data in the target database will not expire and will not be evicted regardless of the set [data eviction policy]({{< relref "/operate/rc/databases/configuration/data-eviction-policies.md" >}}). We recommend that you turn off Active-Passive after the databases are synced.
59+
- As long as Active-Passive is enabled, data in the target database will not expire and will not be evicted regardless of the set [data eviction policy]({{< relref "/operate/rc/databases/configuration/data-eviction-policies.md" >}}). **Do not write to the target database while Active-Passive is enabled.** We recommend that you turn off Active-Passive after the databases are synced.
6060

6161
- Turning on Active-Passive will flush the target database. Make sure that your target database has no important data before you turn on Active-Passive.
6262
{{< /note >}}
@@ -135,7 +135,11 @@ Follow these detailed steps to migrate data using Active-Passive syncing:
135135

136136
{{<image filename="images/rc/migrate-data-status-synced.png" alt="When the data is migrated, the target database status displays `Synced`." width=100px >}}
137137

138-
Active-Passive sync lets you migrate data while apps and other connections are using the source database. Once the data is migrated, you should migrate active connections to the target database.
138+
Active-Passive sync lets you migrate data while apps and other connections are using the source database. Once the data is migrated, you should migrate active connections to the target database.
139+
140+
{{< warning >}}
141+
Do not write to the target database until turning off Active-Passive. Writing to the target database of an Active-Passive setup can cause data consistency issues and replication failures. See [Active-Passive replication considerations]({{< relref "/operate/rc/databases/configuration/data-eviction-policies.md#active-passive-replication-considerations" >}}) for more information.
142+
{{< /warning >}}
139143

140144
## Active-Passive memory requirements
141145

0 commit comments

Comments
 (0)