@streamlayer/sdk-web-api 1.16.4 → 1.16.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/grpc/retry.js +7 -1
- package/package.json +4 -4
package/lib/grpc/retry.js
CHANGED
|
@@ -10,6 +10,9 @@ const allowedRetryFor = new Set([
|
|
|
10
10
|
Code.Unavailable,
|
|
11
11
|
Code.DataLoss,
|
|
12
12
|
]);
|
|
13
|
+
const notAllowedRetryForMessages = new Set([
|
|
14
|
+
'An attempt was made to perform an operation that is not permitted: HttpStatusError: invalid SDK key',
|
|
15
|
+
]);
|
|
13
16
|
const log = createLogger('grpc:retry');
|
|
14
17
|
/**
|
|
15
18
|
* Retry interceptor
|
|
@@ -74,7 +77,10 @@ export const retry = (next) => {
|
|
|
74
77
|
catch (error) {
|
|
75
78
|
log.trace({ attempt, error, url: req.url }, 'retry attempt');
|
|
76
79
|
const cErr = ConnectError.from(error);
|
|
77
|
-
if (attempt >= attempts ||
|
|
80
|
+
if (attempt >= attempts ||
|
|
81
|
+
!(cErr instanceof ConnectError) ||
|
|
82
|
+
!allowedRetryFor.has(cErr.code) ||
|
|
83
|
+
notAllowedRetryForMessages.has(cErr.rawMessage)) {
|
|
78
84
|
throw error;
|
|
79
85
|
}
|
|
80
86
|
// https://aws.amazon.com/ru/blogs/architecture/exponential-backoff-and-jitter/
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@streamlayer/sdk-web-api",
|
|
3
|
-
"version": "1.16.
|
|
3
|
+
"version": "1.16.5",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"main": "./lib/index.js",
|
|
6
6
|
"typings": "./lib/index.d.ts",
|
|
@@ -27,9 +27,9 @@
|
|
|
27
27
|
"nanostores": "^1.1.0",
|
|
28
28
|
"uuid": "^11.1.0",
|
|
29
29
|
"@streamlayer/sl-eslib": "^5.229.1",
|
|
30
|
-
"@streamlayer/sdk-web-interfaces": "^1.9.
|
|
31
|
-
"@streamlayer/sdk-web-logger": "^1.0.
|
|
32
|
-
"@streamlayer/sdk-web-storage": "^1.0.
|
|
30
|
+
"@streamlayer/sdk-web-interfaces": "^1.9.13",
|
|
31
|
+
"@streamlayer/sdk-web-logger": "^1.0.107",
|
|
32
|
+
"@streamlayer/sdk-web-storage": "^1.0.107"
|
|
33
33
|
},
|
|
34
34
|
"devDependencies": {
|
|
35
35
|
"@bufbuild/protobuf": "^2.2.2",
|