Skip to content

Commit 1b3360f

Browse files
DOC-5712 updated name and tidied description
1 parent 2025606 commit 1b3360f

File tree

9 files changed

+75
-71
lines changed

9 files changed

+75
-71
lines changed

content/develop/clients/go/connect.md

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -127,16 +127,16 @@ if err != nil {
127127
fmt.Println("foo", val)
128128
```
129129

130-
## Connect using Seamless client experience (SCE)
130+
## Connect using Smart client handoffs (SCH)
131131

132-
*Seamless client experience (SCE)* is a feature of Redis Cloud and
132+
*Smart client handoffs (SCH)* is a feature of Redis Cloud and
133133
Redis Enterprise servers that lets them actively notify clients
134134
about planned server maintenance shortly before it happens. This
135135
lets a client take action to avoid disruptions in service.
136-
See [Seamless client experience]({{< relref "/develop/clients/sce" >}})
137-
for more information about SCE.
136+
See [Smart client handoffs]({{< relref "/develop/clients/sch" >}})
137+
for more information about SCH.
138138

139-
To enable SCE on the client, add the `HitlessUpgrades` option during the
139+
To enable SCH on the client, add the `HitlessUpgrades` option during the
140140
connection, as shown in the following example:
141141

142142
```go
@@ -150,15 +150,15 @@ rdb := redis.NewClient(&redis.Options{
150150
})
151151
```
152152

153-
{{< note >}}SCE requires the [RESP3]({{< relref "/develop/reference/protocol-spec#resp-versions" >}})
153+
{{< note >}}SCH requires the [RESP3]({{< relref "/develop/reference/protocol-spec#resp-versions" >}})
154154
protocol, so you must set `Protocol:3` explicitly when you connect.
155155
{{< /note >}}
156156

157157
The `hitless.Config` object accepts the following parameters:
158158

159159
| Name | Description |
160160
|------ |------------- |
161-
| `Mode` | Whether or not to enable SCE. The options are `hitless.MaintNotificationsDisabled`, `hitless.MaintNotificationsEnabled` (require SCE and abort the connection if not supported), and `hitless.MaintNotificationsAuto` (require SCE and fall back to a non-SCE connection if not supported). The default is `hitless.MaintNotificationsAuto`. |
161+
| `Mode` | Whether or not to enable SCH. The options are `hitless.MaintNotificationsDisabled`, `hitless.MaintNotificationsEnabled` (require SCH and abort the connection if not supported), and `hitless.MaintNotificationsAuto` (require SCH and fall back to a non-SCH connection if not supported). The default is `hitless.MaintNotificationsAuto`. |
162162
| `RelaxedTimeout` | The timeout to use for commands and connections while the server is performing maintenance. The default is 10 seconds. |
163163
| `HandoffTimeout` | The timeout to connect to the replacement node. The default is 15 seconds. |
164164
| `MaxHandoffRetries` | The maximum number of times to retry connecting to the replacement node. The default is 3. |

content/develop/clients/go/produsage.md

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,7 @@ progress in implementing the recommendations.
3030
{{< checklist-item "#monitor-performance-and-errors">}}Monitor performance and errors{{< /checklist-item >}}
3131
{{< checklist-item "#retries" >}}Retries{{< /checklist-item >}}
3232
{{< checklist-item "#timeouts" >}}Timeouts{{< /checklist-item >}}
33-
{{< checklist-item "#seamless-client-experience" >}}Seamless client experience{{< /checklist-item >}}
33+
{{< checklist-item "#seamless-client-experience" >}}Smart client handoffs{{< /checklist-item >}}
3434
{{< /checklist >}}
3535

3636
## Recommendations
@@ -124,14 +124,14 @@ might retry commands that would have succeeded if given more time. However,
124124
if they are too long, your app might hang unnecessarily while waiting for a
125125
response that will never arrive.
126126

127-
### Seamless client experience
127+
### Smart client handoffs
128128

129-
*Seamless client experience (SCE)* is a feature of Redis Cloud and
129+
*Smart client handoffs (SCH)* is a feature of Redis Cloud and
130130
Redis Enterprise servers that lets them actively notify clients
131131
about planned server maintenance shortly before it happens. This
132132
lets a client take action to avoid disruptions in service.
133133

134-
See [Seamless client experience]({{< relref "/develop/clients/sce" >}})
135-
for more information about SCE and
136-
[Connect using Seamless client experience]({{< relref "/develop/clients/go/connect#connect-using-seamless-client-experience-sce" >}})
134+
See [Smart client handoffs]({{< relref "/develop/clients/sch" >}})
135+
for more information about SCH and
136+
[Connect using Smart client handoffs]({{< relref "/develop/clients/go/connect#connect-using-seamless-client-experience-sce" >}})
137137
for example code.

content/develop/clients/lettuce/connect.md

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -255,16 +255,16 @@ public class Pool {
255255

256256
In this setup, `LettuceConnectionFactory` is a custom class you would need to implement, adhering to Apache Commons Pool's `PooledObjectFactory` interface, to manage lifecycle events of pooled `StatefulRedisConnection` objects.
257257

258-
## Connect using Seamless client experience (SCE)
258+
## Connect using Smart client handoffs (SCH)
259259

260-
*Seamless client experience (SCE)* is a feature of Redis Cloud and
260+
*Smart client handoffs (SCH)* is a feature of Redis Cloud and
261261
Redis Enterprise servers that lets them actively notify clients
262262
about planned server maintenance shortly before it happens. This
263263
lets a client take action to avoid disruptions in service.
264-
See [Seamless client experience]({{< relref "/develop/clients/sce" >}})
265-
for more information about SCE.
264+
See [Smart client handoffs]({{< relref "/develop/clients/sch" >}})
265+
for more information about SCH.
266266

267-
To enable SCE on the client, create a `MaintenanceEventsOptions` object
267+
To enable SCH on the client, create a `MaintenanceEventsOptions` object
268268
and pass it to the `ClientOptions` builder using the `supportMaintenanceEvents()` method:
269269

270270
```java
@@ -278,7 +278,7 @@ RedisClient redisClient = RedisClient.create("redis://localhost:6379");
278278

279279
MaintenanceEventsOptions maintOptions = MaintenanceEventsOptions.builder()
280280
// You can also pass `false` as a parameter to `supportMaintenanceEvents()`
281-
// to explicitly disable SCE.
281+
// to explicitly disable SCH.
282282
.supportMaintenanceEvents()
283283
.build();
284284

content/develop/clients/lettuce/produsage.md

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,7 @@ progress in implementing the recommendations.
3030
{{< checklist-item "#dns-cache-and-redis" >}}DNS cache and Redis{{< /checklist-item >}}
3131
{{< checklist-item "#exception-handling" >}}Exception handling{{< /checklist-item >}}
3232
{{< checklist-item "#connection-and-execution-reliability" >}}Connection and execution reliability{{< /checklist-item >}}
33-
{{< checklist-item "#seamless-client-experience" >}}Seamless client experience{{< /checklist-item >}}
33+
{{< checklist-item "#seamless-client-experience" >}}Smart client handoffs{{< /checklist-item >}}
3434
{{< /checklist >}}
3535

3636
## Recommendations
@@ -240,14 +240,14 @@ See
240240
[Command execution reliability](https://redis.github.io/lettuce/advanced-usage/#command-execution-reliability)
241241
in the Lettuce reference guide for more information.
242242

243-
## Seamless client experience
243+
## Smart client handoffs
244244

245-
*Seamless client experience (SCE)* is a feature of Redis Cloud and
245+
*Smart client handoffs (SCH)* is a feature of Redis Cloud and
246246
Redis Enterprise servers that lets them actively notify clients
247247
about planned server maintenance shortly before it happens. This
248248
lets a client take action to avoid disruptions in service.
249249

250-
See [Seamless client experience]({{< relref "/develop/clients/sce" >}})
251-
for more information about SCE and
252-
[Connect using Seamless client experience]({{< relref "/develop/clients/lettuce/connect#connect-using-seamless-client-experience-sce" >}})
250+
See [Smart client handoffs]({{< relref "/develop/clients/sch" >}})
251+
for more information about SCH and
252+
[Connect using Smart client handoffs]({{< relref "/develop/clients/lettuce/connect#connect-using-seamless-client-experience-sce" >}})
253253
for example code.

content/develop/clients/nodejs/connect.md

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -329,16 +329,16 @@ createClient({
329329
});
330330
```
331331

332-
## Connect using Seamless client experience (SCE)
332+
## Connect using Smart client handoffs (SCH)
333333

334-
*Seamless client experience (SCE)* is a feature of Redis Cloud and
334+
*Smart client handoffs (SCH)* is a feature of Redis Cloud and
335335
Redis Enterprise servers that lets them actively notify clients
336336
about planned server maintenance shortly before it happens. This
337337
lets a client take action to avoid disruptions in service.
338-
See [Seamless client experience]({{< relref "/develop/clients/sce" >}})
339-
for more information about SCE.
338+
See [Smart client handoffs]({{< relref "/develop/clients/sch" >}})
339+
for more information about SCH.
340340

341-
Use the configuration options shown in the example below to enable SCE
341+
Use the configuration options shown in the example below to enable SCH
342342
during the connection:
343343

344344
```js
@@ -351,16 +351,16 @@ const client = createClient({
351351
});
352352
```
353353

354-
{{< note >}}SCE requires the [RESP3]({{< relref "/develop/reference/protocol-spec#resp-versions" >}})
354+
{{< note >}}SCH requires the [RESP3]({{< relref "/develop/reference/protocol-spec#resp-versions" >}})
355355
protocol, so you must set the `RESP:3` option explicitly when you connect.
356356
{{< /note >}}
357357

358358
The available options are:
359359

360-
- `maintPushNotifications`: (`string`) Whether or not to enable SCE. The options are
361-
- `'disabled'`: don't use SCE
362-
- `'enabled'`: attempt to activate SCE on the server and abort the connection if it isn't supported
363-
- `'auto'`: attempt to activate SCE on the server and fall back to a non-SCE
360+
- `maintPushNotifications`: (`string`) Whether or not to enable SCH. The options are
361+
- `'disabled'`: don't use SCH
362+
- `'enabled'`: attempt to activate SCH on the server and abort the connection if it isn't supported
363+
- `'auto'`: attempt to activate SCH on the server and fall back to a non-SCH
364364
connection if it isn't supported. This is the default.
365365
- `maintRelaxedCommandTimeout`: (`number`) The command timeout to use while the server is
366366
performing maintenance. The default is 10000 (10 seconds). If a timeout happens during the maintenance period, the client receives a `CommandTimeoutDuringMaintenance` error.

content/develop/clients/nodejs/produsage.md

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@ progress in implementing the recommendations.
2929
{{< checklist-item "#handling-reconnections" >}}Handling reconnections{{< /checklist-item >}}
3030
{{< checklist-item "#connection-timeouts" >}}Connection timeouts{{< /checklist-item >}}
3131
{{< checklist-item "#command-execution-reliability" >}}Command execution reliability{{< /checklist-item >}}
32-
{{< checklist-item "#seamless-client-experience" >}}Seamless client experience{{< /checklist-item >}}
32+
{{< checklist-item "#seamless-client-experience" >}}Smart client handoffs{{< /checklist-item >}}
3333
{{< /checklist >}}
3434

3535
## Recommendations
@@ -107,14 +107,14 @@ const client = createClient({
107107
Use a separate connection with the queue disabled if you want to avoid queuing
108108
only for specific commands.
109109

110-
### Seamless client experience
110+
### Smart client handoffs
111111

112-
*Seamless client experience (SCE)* is a feature of Redis Cloud and
112+
*Smart client handoffs (SCH)* is a feature of Redis Cloud and
113113
Redis Enterprise servers that lets them actively notify clients
114114
about planned server maintenance shortly before it happens. This
115115
lets a client take action to avoid disruptions in service.
116116

117-
See [Seamless client experience]({{< relref "/develop/clients/sce" >}})
118-
for more information about SCE and
119-
[Connect using Seamless client experience]({{< relref "/develop/clients/nodejs/connect#connect-using-seamless-client-experience-sce" >}})
117+
See [Smart client handoffs]({{< relref "/develop/clients/sch" >}})
118+
for more information about SCH and
119+
[Connect using Smart client handoffs]({{< relref "/develop/clients/nodejs/connect#connect-using-seamless-client-experience-sce" >}})
120120
for example code.

content/develop/clients/redis-py/connect.md

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -253,16 +253,16 @@ this behavior to suit your use case. See
253253
[Retries]({{< relref "/develop/clients/redis-py/produsage#retries" >}})
254254
for more information about custom retry strategies, with example code.
255255

256-
## Connect using Seamless client experience (SCE)
256+
## Connect using Smart client handoffs (SCH)
257257

258-
*Seamless client experience (SCE)* is a feature of Redis Cloud and
258+
*Smart client handoffs (SCH)* is a feature of Redis Cloud and
259259
Redis Enterprise servers that lets them actively notify clients
260260
about planned server maintenance shortly before it happens. This
261261
lets a client take action to avoid disruptions in service.
262-
See [Seamless client experience]({{< relref "/develop/clients/sce" >}})
263-
for more information about SCE.
262+
See [Smart client handoffs]({{< relref "/develop/clients/sch" >}})
263+
for more information about SCH.
264264

265-
To enable SCE on the client, pass a `MaintenanceEventsConfig` object
265+
To enable SCH on the client, pass a `MaintenanceEventsConfig` object
266266
during the connection, as shown in the following example:
267267

268268
```py
@@ -282,14 +282,14 @@ r = redis.Redis(
282282
)
283283
```
284284

285-
{{< note >}}SCE requires the [RESP3]({{< relref "/develop/reference/protocol-spec#resp-versions" >}})
285+
{{< note >}}SCH requires the [RESP3]({{< relref "/develop/reference/protocol-spec#resp-versions" >}})
286286
protocol, so you must set `protocol=3` explicitly when you connect.
287287
{{< /note >}}
288288

289289
The `MaintenanceEventsConfig` constructor accepts the following parameters:
290290

291291
| Name | Type | Default | Description |
292292
|------|------|---------|-------------|
293-
| `enabled` | `bool` | `False` | Whether or not to enable SCE. |
293+
| `enabled` | `bool` | `False` | Whether or not to enable SCH. |
294294
| `proactive_reconnect` | `bool` | `True` | Whether or not to automatically reconnect when a node is replaced. |
295295
| `relax_timeout` | `int` | `20` | The timeout (in seconds) to use while the server is performing maintenance. A value of `-1` disables the relax timeout and just uses the normal timeout during maintenance. |

content/develop/clients/redis-py/produsage.md

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,7 @@ progress in implementing the recommendations.
3030
{{< checklist-item "#health-checks" >}}Health checks{{< /checklist-item >}}
3131
{{< checklist-item "#exception-handling" >}}Exception handling{{< /checklist-item >}}
3232
{{< checklist-item "#timeouts" >}}Timeouts{{< /checklist-item >}}
33-
{{< checklist-item "#seamless-client-experience" >}}Seamless client experience{{< /checklist-item >}}
33+
{{< checklist-item "#seamless-client-experience" >}}Smart client handoffs{{< /checklist-item >}}
3434
{{< /checklist >}}
3535

3636
## Recommendations
@@ -199,14 +199,14 @@ commands that would have succeeded if given more time. However, if the
199199
timeouts are too long, your app might hang unnecessarily while waiting for a
200200
response that will never arrive.
201201

202-
### Seamless client experience
202+
### Smart client handoffs
203203

204-
*Seamless client experience (SCE)* is a feature of Redis Cloud and
204+
*Smart client handoffs (SCH)* is a feature of Redis Cloud and
205205
Redis Enterprise servers that lets them actively notify clients
206206
about planned server maintenance shortly before it happens. This
207207
lets a client take action to avoid disruptions in service.
208208

209-
See [Seamless client experience]({{< relref "/develop/clients/sce" >}})
210-
for more information about SCE and
211-
[Connect using Seamless client experience]({{< relref "/develop/clients/redis-py/connect#connect-using-seamless-client-experience-sce" >}})
209+
See [Smart client handoffs]({{< relref "/develop/clients/sch" >}})
210+
for more information about SCH and
211+
[Connect using Smart client handoffs]({{< relref "/develop/clients/redis-py/connect#connect-using-seamless-client-experience-sce" >}})
212212
for example code.

content/develop/clients/sce.md renamed to content/develop/clients/sch.md

Lines changed: 21 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -10,30 +10,34 @@ categories:
1010
- kubernetes
1111
- clients
1212
description: Learn how to avoid disruptions during Redis server maintenance.
13-
linkTitle: Seamless client experience
14-
title: Seamless client experience
13+
linkTitle: Smart client handoffs
14+
title: Smart client handoffs
1515
weight: 50
1616
---
1717

18-
*Seamless client experience (SCE)* is a feature of Redis Cloud and
18+
*Smart client handoffs (SCH)* is a feature of Redis Cloud and
1919
Redis Enterprise servers that lets them actively notify clients
2020
about planned server maintenance shortly before it happens. This
2121
lets a client reconnect or otherwise respond gracefully without significant
2222
interruptions in service.
2323

24-
SCE is primarily useful when server software or hardware is upgraded.
25-
Upgrades tend to impact the general performance of the server, so
26-
advance notification of the upgrade lets a client adjust its command
27-
timeouts to take this into account. Upgrades also involve migrating
28-
Redis shards to new nodes, which inevitably disconnects clients from
29-
existing nodes. However, with some advance warning of the disconnection,
30-
a client can buffer commands, connect to a new node, and then resume
31-
the buffered commands without aborting any of them. As a result, users
32-
see no disruption in service.
24+
SCH is primarily useful when server software or hardware upgrades
25+
are required. It provides two main features to help the
26+
client avoid disruptions in service during the maintenance period:
3327

34-
## Enable SCE
28+
- **Relaxed timeouts**: Upgrades tend to impact the general performance of the server.
29+
Advance notification of the upgrade lets a client adjust its command
30+
timeouts to take this into account and avoid aborting commands too soon.
31+
- **Transparent reconnection**: Upgrades also involve migrating
32+
Redis shards to new nodes, which inevitably disconnects clients from
33+
existing nodes. However, with some advance warning of the disconnection,
34+
a client can buffer commands, connect to a new node, and then resume
35+
the buffered commands without aborting any of them. As a result, users
36+
see no disruption in service.
3537

36-
SCE is enabled by default on Redis Cloud, but you must enable it
38+
## Enable SCH
39+
40+
SCH is enabled by default on Redis Cloud, but you must enable it
3741
explicitly on Redis Enterprise servers by using the
3842
[v1/cluster]({{< relref "/operate/rs/references/rest-api/requests/cluster" >}})
3943
REST API request to set the `client_maint_notifications` option to `true`.
@@ -48,12 +52,12 @@ curl -k -X PUT -H "accept: application/json" \
4852
https://localhost:9443/v1/cluster
4953
```
5054

51-
SCE is enabled automatically on the client side during connection
55+
SCH is enabled automatically on the client side during connection
5256
if you select the [RESP3]({{< relref "/develop/reference/protocol-spec#resp-versions" >}})
53-
protocol, which is a requirement for SCE. However, you can
57+
protocol, which is a requirement for SCH. However, you can
5458
configure some parameters, such as the timeouts to use
5559
during maintenance.
56-
See the pages linked below to learn how to configure SCE for:
60+
See the pages linked below to learn how to configure SCH for:
5761

5862
- [redis-py]({{< relref "/develop/clients/redis-py/connect#connect-using-seamless-client-experience-sce" >}})
5963
- [node-redis]({{< relref "/develop/clients/nodejs/connect#connect-using-seamless-client-experience-sce" >}})

0 commit comments

Comments
 (0)