Skip to content

Commit 1551e1d

Browse files
committed
Merge branch 'main' into DOC-4137
2 parents 9d12553 + 5b1691d commit 1551e1d

File tree

26 files changed

+261
-235
lines changed

26 files changed

+261
-235
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/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/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.

content/operate/oss_and_stack/stack-with-enterprise/gears-v1/jvm/classes/readers/commandoverrider.md

Lines changed: 15 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -51,26 +51,24 @@ CommandOverrider overrider = new CommandOverrider();
5151
overrider.setCommand("HSET");
5252
// Only override HSET for keys that start with "user:"
5353
overrider.setPrefix("user:");
54-
54+
5555
// Create the data pipe builder
5656
GearsBuilder.CreateGearsBuilder(overrider).map(r-> {
57-
// Extract the key from the command arguments
58-
String keyName = new String((byte[]) r[1], StandardCharsets.UTF_8);
59-
60-
// Add a last_modified timestamp to the user's profile
61-
GearsBuilder.execute("HSET", keyName, "last_modified", Long.toString(System.currentTimeMillis()));
62-
63-
// Get the original HSET arguments
64-
ArrayList<String> commandArray = new ArrayList<String>();
65-
for (int i=1; i < r.length; i++) {
66-
commandArray.add(new String((byte[]) r[i], StandardCharsets.UTF_8));
57+
// Get the operation arguments
58+
ArrayList<String> operationArguments = new ArrayList<String>();
59+
for (int i = 1; i < r.length; i++) {
60+
operationArguments.add(new String((byte[]) r[i], StandardCharsets.UTF_8));
6761
}
68-
69-
// Run the original HSET command
70-
GearsBuilder.callNext(commandArray.toArray(new String[0]));
71-
72-
return "OK";
73-
}).register();
62+
63+
// Add a last-modified field and a corresponding timestamp to the operation arguments
64+
operationArguments.add("last-modified");
65+
operationArguments.add(Long.toString(System.currentTimeMillis()));
66+
67+
// Run the enriched HSET operation
68+
Object reply = GearsBuilder.callNext(operationArguments.toArray(new String[0]));
69+
70+
return reply.toString();
71+
}).register(ExecutionMode.SYNC);
7472
```
7573

7674
After you register the previous code with the `RG.JEXECUTE` command, try to update the user's data with `HSET` to test it:

content/operate/oss_and_stack/stack-with-enterprise/stack-quickstart.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ title: Redis Stack quick start
1010
weight: 1
1111
---
1212
To quickly set up a database with Redis Stack features,
13-
you can sign up for a free [Redis Cloud](https://app.redislabs.com/#/sign-up) subscription and create a Redis Stack database.
13+
you can sign up for a free [Redis Cloud](https://cloud.redis.io/#/sign-up) subscription and create a Redis Stack database.
1414

1515
Alternatively, you can use one of these methods:
1616

@@ -34,7 +34,7 @@ For more details, see the Redis Cloud [quick start]({{< relref "/operate/rc/rc-q
3434

3535
To create a new subscription:
3636

37-
1. Sign in to the Redis Cloud [admin console](http://app.redislabs.com) or create a new account.
37+
1. Sign in to the Redis Cloud [admin console](http://cloud.redis.io) or create a new account.
3838

3939
1. Select the **New subscription** button:
4040

0 commit comments

Comments
 (0)