Skip to content

Commit c51f0a0

Browse files
committed
Merge branch 'main' into release-rs-fuya-fuya
2 parents e6525b4 + f2c329a commit c51f0a0

File tree

33 files changed

+756
-73
lines changed

33 files changed

+756
-73
lines changed

.github/workflows/main-staging.yml

Lines changed: 80 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -33,23 +33,92 @@ jobs:
3333
echo "ERROR: Invalid branch name ${{ github.ref_name }}!"
3434
exit 1
3535
fi
36-
- name: Configure Hugo
36+
37+
- name: Install dependencies
38+
run: make deps
39+
40+
- name: Build out all versions
3741
run: |
42+
set -x
43+
44+
function setBaseUrl() {
3845
if [[ "${{ github.ref_name }}" == "main" ]]
3946
then
4047
hugo_root_path=docs/staging/dev
4148
elif [[ "${{ github.ref_name }}" == "latest" ]]
4249
then
43-
hugo_root_path="docs/latest"
50+
hugo_root_path="docs/latest"
4451
elif [[ "${{ endsWith(github.ref_name, '-build') }}" == "true" ]]
4552
then
4653
hugo_root_path=`echo docs/version/${{ github.ref_name }} | sed 's/-build$//'`
4754
else
4855
hugo_root_path=docs/staging/${{ github.ref_name }}
4956
fi \
5057
&& sed -i "s#baseURL = \"https://redis.io\"#baseURL = \"https://redis.io/$hugo_root_path\"#g" config.toml
51-
- name: Install dependencies and run Hugo
52-
run: make all
58+
}
59+
60+
setBaseUrl
61+
kubernetes_versions=($(find content/operate/kubernetes/ -maxdepth 1 -type d -regex ".*[0-9-]" | awk -F/ '{print $NF}'))
62+
rs_versions=($(find content/operate/rs/ -maxdepth 1 -type d -regex ".*[0-9-]" | awk -F/ '{print $NF}'))
63+
64+
# build latest
65+
for version in "${kubernetes_versions[@]}"; do
66+
rm -r "content/operate/kubernetes/${version}"
67+
done
68+
for version in "${rs_versions[@]}"; do
69+
rm -r "content/operate/rs/${version}"
70+
done
71+
make all
72+
73+
git checkout .
74+
75+
# build all versions
76+
for version in "${kubernetes_versions[@]}"; do
77+
78+
setBaseUrl
79+
80+
# for each version, remove all other versions before building
81+
versions_to_remove=($(echo "${kubernetes_versions[@]}" "${version}" | tr ' ' '\n' | sort | uniq -u))
82+
for version_to_remove in "${versions_to_remove[@]}"; do
83+
rm -r "content/operate/kubernetes/${version_to_remove}"
84+
done
85+
86+
cp -r "content/operate/kubernetes/${version}"/* content/operate/kubernetes/
87+
rm -r "content/operate/kubernetes/${version}"
88+
sed -i 's/id="versionSelectorKubernetesValue" class="version-selector-control">latest/id="versionSelectorKubernetesValue" class="version-selector-control">v'"${version}"'/' layouts/partials/docs-nav.html
89+
sed -i 's/linkTitle: '"${version}"'/linkTitle: Redis for Kubernetes/' content/operate/kubernetes/_index.md
90+
91+
# inject replace command in meta-links to make sure editURL and issuesURL point to right version
92+
sed -i "11i \{\{ \$gh_file = replaceRE \`\^operate\/kubernetes\/\` \"operate\/kubernetes\/$version\/\" \$gh_file }}" layouts/partials/meta-links.html
93+
94+
hugo -d "kubernetes-${version}"
95+
96+
git checkout .
97+
done
98+
99+
for version in "${rs_versions[@]}"; do
100+
101+
setBaseUrl
102+
103+
# for each version, remove all other versions before building
104+
versions_to_remove=($(echo "${rs_versions[@]}" "${version}" | tr ' ' '\n' | sort | uniq -u))
105+
for version_to_remove in "${versions_to_remove[@]}"; do
106+
rm -r "content/operate/rs/${version_to_remove}"
107+
done
108+
109+
cp -r "content/operate/rs/${version}"/* content/operate/rs/
110+
rm -r "content/operate/rs/${version}"
111+
sed -i 's/id="versionSelectorRsValue" class="version-selector-control">latest/id="versionSelectorRsValue" class="version-selector-control">v'"${version}"'/' layouts/partials/docs-nav.html
112+
sed -i 's/linkTitle: '"${version}"'/linkTitle: Redis Software/' content/operate/rs/_index.md
113+
114+
# inject replace command in meta-links to make sure editURL and issuesURL point to right version
115+
sed -i "11i \{\{ \$gh_file = replaceRE \`\^operate\/rs\/\` \"operate\/rs\/$version\/\" \$gh_file }}" layouts/partials/meta-links.html
116+
117+
hugo -d "rs-${version}"
118+
119+
git checkout .
120+
done
121+
53122
- name: List client examples
54123
run: ls "${{ github.workspace }}/examples"
55124
- name: List files to be published
@@ -80,5 +149,12 @@ jobs:
80149
bucket_path=staging/${{ github.ref_name }}
81150
fi \
82151
&& ./google-cloud-sdk/bin/gsutil -m rsync -r -c -j html -d ${{ github.workspace }}/public gs://$BUCKET/$bucket_path
152+
153+
versioned_builds=($(find . -type d -regex ".*[0-9-]" -maxdepth 1 | sed -E 's/^.\///'))
154+
for versioned_build in "${versioned_builds[@]}"; do
155+
product=$(grep -Eo '[a-zA-Z]+' <<< $versioned_build)
156+
gsutil -m rsync -r -c -j html -d "${{ github.workspace }}/${versioned_build}/operate/${product}" "gs://${BUCKET}/${versioned_build}/operate/${product}"
157+
done
158+
83159
- name: End
84160
run: echo "This job's status is ${{ job.status }}."

content/commands/ft.search/index.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -478,6 +478,8 @@ orders the results by the value of this attribute. This applies to both text and
478478
<summary><code>LIMIT first num</code></summary>
479479

480480
limits the results to the offset and number of results given. Note that the offset is zero-indexed. The default is 0 10, which returns 10 items starting from the first result. You can use `LIMIT 0 0` to count the number of documents in the result set without actually returning them.
481+
482+
**`LIMIT` behavior**: If you use the `LIMIT` option without sorting, the results returned are non-deterministic, which means that subsequent queries may return duplicated or missing values. Add `SORTBY` with a unique field, or use `FT.AGGREGATE` with the `WITHCURSOR` option to ensure deterministic result set paging.
481483
</details>
482484

483485
<details open>

content/develop/connect/insight/release-notes/v.2.40.0.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ This is the General Availability (GA) release of RedisInsight 2.40.
1515
### Details
1616

1717
**Features and improvements**
18-
- [#2879](https://github.com/RedisInsight/RedisInsight/pull/2879) UX improvements to simplify in-app provisioning of a free [Redis Cloud](https://redis.com/comparisons/oss-vs-enterprise/?utm_source=redisinsight&utm_medium=rel_notes&utm_campaign=2_40) database. Create a new database with a preselected cloud vendor and region by using the recommended sign-up settings. You can manage your database by signing in to the [Redis Cloud console](https://app.redislabs.com/#/databases?utm_source=redisinsight&utm_medium=rel_notes&utm_campaign=2_40)
18+
- [#2879](https://github.com/RedisInsight/RedisInsight/pull/2879) UX improvements to simplify in-app provisioning of a free [Redis Cloud](https://redis.com/comparisons/oss-vs-enterprise/?utm_source=redisinsight&utm_medium=rel_notes&utm_campaign=2_40) database. Create a new database with a preselected cloud vendor and region by using the recommended sign-up settings. You can manage your database by signing in to the [Redis Cloud console](https://cloud.redis.io/#/databases?utm_source=redisinsight&utm_medium=rel_notes&utm_campaign=2_40)
1919
- [#2851](https://github.com/RedisInsight/RedisInsight/pull/2851) See plan, cloud vendor, and region details after successfully provisioning your free [Redis Cloud](https://redis.com/comparisons/oss-vs-enterprise/?utm_source=redisinsight&utm_medium=rel_notes&utm_campaign=2_40) database
2020
- [#2882](https://github.com/RedisInsight/RedisInsight/pull/2882) Optimizations when uploading large text files with the list of Redis commands, available under bulk actions in Browser
2121
- [#2808](https://github.com/RedisInsight/RedisInsight/pull/2808) Enhanced security measurement to no longer display existing passwords for Redis Sentinel in plain text

content/develop/interact/search-and-query/query/vector-search.md

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -46,9 +46,9 @@ You can read more about the `PARAMS` argument in the [FT.SEARCH]({{< baseurl >}}
4646

4747
The following example shows you how to query for three bikes based on their description embeddings, and by using the field alias `vector`. The result is returned in ascending order based on the distance. You can see that the query only returns the fields `__vector_score` and `description`. The field `__vector_score` is present by default. Because you can have multiple vector fields in your schema, the vector score field name depends on the name of the vector field. If you change the field name `@vector` to `@foo`, the score field name changes to `__foo_score`.
4848

49-
```
49+
{{< clients-example query_vector vector1 >}}
5050
FT.SEARCH idx:bikes_vss "(*)=>[KNN 3 @vector $query_vector]" PARAMS 2 "query_vector" "Z\xf8\x15:\xf23\xa1\xbfZ\x1dI>\r\xca9..." SORTBY "__vector_score" ASC RETURN 2 "__vector_score" "description" DIALECT 2
51-
```
51+
{{< /clients-example >}}
5252

5353
<!-- Python query>
5454
query = (
@@ -60,7 +60,7 @@ query = (
6060
</!-->
6161

6262
{{% alert title="Note" color="warning" %}}
63-
The binary value of the query vector is significantly shortened in this example.
63+
The binary value of the query vector is significantly shortened in the CLI example above.
6464
{{% /alert %}}
6565

6666

@@ -93,9 +93,9 @@ By default, [`FT.SEARCH`]({{< baseurl >}}/commands/ft.search/) returns only the
9393

9494
The example below shows a radius query that returns the description and the distance within a radius of `0.5`. The result is sorted by the distance.
9595

96-
```
96+
{{< clients-example query_vector vector2 >}}
9797
FT.SEARCH idx:bikes_vss "@vector:[VECTOR_RANGE 0.5 $query_vector]=>{$YIELD_DISTANCE_AS: vector_dist}" PARAMS 2 "query_vector" "Z\xf8\x15:\xf23\xa1\xbfZ\x1dI>\r\xca9..." SORTBY vector_dist ASC RETURN 2 vector_dist description DIALECT 2
98-
```
98+
{{< /clients-example >}}
9999

100100
<!-- Python query>
101101
query = (

content/integrate/amazon-bedrock/set-up-redis.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -75,9 +75,9 @@ To set up a Redis Cloud instance for Bedrock, you need to:
7575

7676
{{<image filename="images/rc/subscription-new-flexible-setup-general.png" width="75%" alt="The General settings of the Setup tab." >}}
7777

78-
1. In the **Version** section, select **Redis 7.2**.
78+
1. In the **Version** section, select **Redis 7.2** or **Redis 7.4**.
7979

80-
{{<image filename="images/rc/subscription-new-flexible-version-section.png" alt="Version selection between Redis 6.2 and 7.2" >}}
80+
{{<image filename="images/rc/subscription-new-flexible-version-section.png" alt="Version selection between Redis 6.2, 7.2, and 7.4" >}}
8181

8282
1. In the **Advanced options** section, select Multi-AZ to ensure [high-availability]({{< relref "/operate/rc/databases/configuration/high-availability" >}}).
8383

content/integrate/redis-data-integration/data-pipelines/data-pipelines.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -28,8 +28,8 @@ However, you can also provide your own custom transformation [jobs](#job-files)
2828
for each source table, using your own data mapping and key pattern. You specify these
2929
jobs declaratively with YAML configuration files that require no coding.
3030

31-
The data tranformation involves two separate stages. First, the data ingested by
32-
[Debezium](https://debezium.io/) is automatically transformed to a JSON format. Then,
31+
The data tranformation involves two separate stages. First, the data ingested
32+
during CDC is automatically transformed to a JSON format. Then,
3333
this JSON data gets passed on to your custom transformation for further processing.
3434

3535
You can provide a job file for each source table you want to transform, but you
@@ -48,7 +48,7 @@ data in Redis as
4848

4949
The diagram below shows the flow of data through the pipeline:
5050

51-
{{< image filename="/images/rdi/data-transformation-pipeline.png" >}}
51+
{{< image filename="/images/rdi/RDIPipeDataflow.drawio.svg" >}}
5252

5353
## Pipeline configuration
5454

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

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -43,6 +43,19 @@ use [`iptables`](https://www.netfilter.org/projects/iptables/index.html) to
4343
/^:[A-Z]+ [^-]/ { print $1 " ACCEPT" ; }
4444
/COMMIT/ { print $0; }' | sudo iptables-restore
4545
```
46+
47+
You may encounter problems if you use `iptables` v1.6.1 and earlier in
48+
`nftables` mode. Use `iptables` versions later than v1.6.1 or enable the `iptables`
49+
legacy mode with the following commands:
50+
51+
```bash
52+
update-alternatives --set iptables /usr/sbin/iptables-legacy
53+
update-alternatives --set ip6tables /usr/sbin/ip6tables-legacy
54+
```
55+
56+
Also, `iptables` versions 1.8.0-1.8.4 have known issues that can prevent RDI
57+
from working, especially on RHEL 8. Ideally, use `iptables` v1.8.8, which is
58+
known to work correctly with RDI.
4659
{{< /note >}}
4760

4861
The supported OS versions for RDI are:

content/integrate/redis-data-integration/observability.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -39,7 +39,7 @@ command from the CLI.{{< /note >}}
3939

4040
## Collector metrics
4141

42-
The endpoint for the collector metrics is `https://<RDI_HOST>:9121/metrics/collector-source`
42+
The endpoint for the collector metrics is `https://<RDI_HOST>/metrics/collector-source`
4343

4444
These metrics are divided into three groups:
4545

@@ -49,7 +49,7 @@ These metrics are divided into three groups:
4949

5050
## Stream processor metrics
5151

52-
The endpoint for the stream processor metrics is `https://<RDI_HOST>:9121/metrics/rdi`
52+
The endpoint for the stream processor metrics is `https://<RDI_HOST>/metrics/rdi`
5353

5454
RDI reports metrics during the two main phases of the ingest pipeline, the *snapshot*
5555
phase and the *change data capture (CDC)* phase. (See the

content/operate/kubernetes/deployment/openshift/openshift-operatorhub.md

Lines changed: 9 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@ To see which version of Redis Enterprise for Kubernetes supports your OpenShift
2929

3030
Only one namespace per operator is supported.
3131

32-
4. Update the **channel** with the version you're installing.
32+
4. Update the **channel** with the version you're installing.
3333

3434
For more information about specific versions, see the [release notes]({{< relref "/operate/kubernetes/release-notes/" >}}).
3535

@@ -66,11 +66,15 @@ You only need to install the SCC once, but you must not delete it.
6666
After the install, the OperatorHub automatically uses the constraint for Redis Enterprise node pods.
6767

6868
{{< note >}}
69-
**Known Limitation** - The automatic use of the security constraint is limited. The
70-
Redis Enterprise must be named `rec` for the constraint to be used automatically. **Use the cluster name `rec` when deploying with the OperatorHub.**
69+
If you are using the recommended RedisEnterpriseCluster name of `rec`, the SCC is automatically bound to the RedisEnterpriseCluster after install.
70+
71+
If you choose a different name for the RedisEnterpriseCluster, or override the default service account name, you must manually bind the SCC to the RedisEnterpriseCluster’s service account:
72+
73+
```sh
74+
oc adm policy add-scc-to-user redis-enterprise-scc-v2 \
75+
system:serviceaccount:<my-project>:<rec-service-account-name>
76+
```
7177

72-
If you require a different name, you must grant the SCC to the project
73-
namespace.
7478
{{< /note >}}
7579

7680
## Create Redis Enterprise custom resources

content/operate/oss_and_stack/stack-with-enterprise/gears-v1/installing-redisgears.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@ Offline installation requires you to manually upload dependencies to the master
2424

2525
### Install RedisGears and dependencies
2626

27-
1. Download the **RedisGears** package from the Redis Enterprise [download center](https://app.redislabs.com/#/rlec-downloads).
27+
1. Download the **RedisGears** package from the Redis Enterprise [download center](https://cloud.redis.io/#/rlec-downloads).
2828

2929
{{<note>}}
3030
For offline installation of RedisGears v1.2 and later, you also need to download the **RedisGears Dependencies** packages for both Python and Java.

0 commit comments

Comments
 (0)