From f1271cee321a58ca5ecfdf22781e37a772475f50 Mon Sep 17 00:00:00 2001 From: Ignazio Bovo Date: Thu, 18 Jan 2024 16:05:15 +0100 Subject: [PATCH 1/7] feat: :sparkles: add uptime field to status response --- storage-node/src/api-spec/openapi.yaml | 3 +++ storage-node/src/services/webApi/controllers/stateApi.ts | 1 + 2 files changed, 4 insertions(+) diff --git a/storage-node/src/api-spec/openapi.yaml b/storage-node/src/api-spec/openapi.yaml index fe9cbbf5d9..df9b69a527 100644 --- a/storage-node/src/api-spec/openapi.yaml +++ b/storage-node/src/api-spec/openapi.yaml @@ -272,6 +272,7 @@ components: type: object required: - version + - uptime - queryNodeStatus - uploadBuckets - downloadBuckets @@ -280,6 +281,8 @@ components: properties: version: type: string + uptime: + type: number nodeEnv: type: string queryNodeStatus: diff --git a/storage-node/src/services/webApi/controllers/stateApi.ts b/storage-node/src/services/webApi/controllers/stateApi.ts index e87395b662..f04ec08d54 100644 --- a/storage-node/src/services/webApi/controllers/stateApi.ts +++ b/storage-node/src/services/webApi/controllers/stateApi.ts @@ -149,6 +149,7 @@ export async function getStatus(req: express.Request, res: express.Response Date: Fri, 16 Feb 2024 15:50:02 +0100 Subject: [PATCH 2/7] regenerate storage client api --- storage-node/client/api.ts | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/storage-node/client/api.ts b/storage-node/client/api.ts index 47d14f8dcf..14bd06f18f 100644 --- a/storage-node/client/api.ts +++ b/storage-node/client/api.ts @@ -108,6 +108,12 @@ export interface StatusResponse { * @memberof StatusResponse */ 'version': string; + /** + * + * @type {number} + * @memberof StatusResponse + */ + 'uptime': number; /** * * @type {string} From 4d6dcb4e6e131f9779c6e2836aff1500237e46b2 Mon Sep 17 00:00:00 2001 From: Zeeshan Akram <97m.zeeshan@gmail.com> Date: Sat, 9 Mar 2024 19:15:26 +0500 Subject: [PATCH 3/7] update @types/node package version in all packages to '18.6.0' --- cli/package.json | 2 +- devops/kubernetes/argus/package.json | 2 +- devops/kubernetes/node-network/package.json | 2 +- devops/kubernetes/orion/package.json | 2 +- devops/kubernetes/pulumi-common/package.json | 2 +- devops/kubernetes/query-node/package.json | 2 +- devops/kubernetes/storage-node/package.json | 2 +- distributor-node/package.json | 2 +- storage-node/package.json | 2 +- utils/migration-scripts/package.json | 2 +- yarn.lock | 19 +++++++++++++------ 11 files changed, 23 insertions(+), 16 deletions(-) diff --git a/cli/package.json b/cli/package.json index 47905f05c8..bfcd6c4ebd 100644 --- a/cli/package.json +++ b/cli/package.json @@ -68,7 +68,7 @@ "@oclif/test": "^1.2.5", "@types/chai": "^4.2.11", "@types/mocha": "^5.2.7", - "@types/node": "^10.17.18", + "@types/node": "^18.6.0", "chai": "^4.2.0", "eslint": "^7.6.0", "eslint-config-oclif": "^3.1.0", diff --git a/devops/kubernetes/argus/package.json b/devops/kubernetes/argus/package.json index 608e5053fa..2e4906d86b 100644 --- a/devops/kubernetes/argus/package.json +++ b/devops/kubernetes/argus/package.json @@ -1,7 +1,7 @@ { "name": "eks-cluster", "devDependencies": { - "@types/node": "^10.0.0" + "@types/node": "^18.6.0" }, "dependencies": { "@pulumi/aws": "^4.0.0", diff --git a/devops/kubernetes/node-network/package.json b/devops/kubernetes/node-network/package.json index 13ae9110bd..f9fc8897bc 100644 --- a/devops/kubernetes/node-network/package.json +++ b/devops/kubernetes/node-network/package.json @@ -1,7 +1,7 @@ { "name": "joystream-node-network", "devDependencies": { - "@types/node": "^10.0.0" + "@types/node": "^18.6.0" }, "dependencies": { "@pulumi/aws": "^4.0.0", diff --git a/devops/kubernetes/orion/package.json b/devops/kubernetes/orion/package.json index 97174e3e79..b6cab62121 100644 --- a/devops/kubernetes/orion/package.json +++ b/devops/kubernetes/orion/package.json @@ -1,7 +1,7 @@ { "name": "eks-cluster", "devDependencies": { - "@types/node": "^10.0.0" + "@types/node": "^18.6.0" }, "dependencies": { "@pulumi/awsx": "^0.30.0", diff --git a/devops/kubernetes/pulumi-common/package.json b/devops/kubernetes/pulumi-common/package.json index cb116bfe28..4b2025c7d6 100644 --- a/devops/kubernetes/pulumi-common/package.json +++ b/devops/kubernetes/pulumi-common/package.json @@ -2,7 +2,7 @@ "name": "pulumi-common", "version": "1.0.0", "devDependencies": { - "@types/node": "^10.0.0" + "@types/node": "^18.6.0" }, "dependencies": { "@pulumi/kubernetes": "^3.0.0", diff --git a/devops/kubernetes/query-node/package.json b/devops/kubernetes/query-node/package.json index fb38522e59..1f56c62793 100644 --- a/devops/kubernetes/query-node/package.json +++ b/devops/kubernetes/query-node/package.json @@ -1,7 +1,7 @@ { "name": "query-node", "devDependencies": { - "@types/node": "^10.0.0" + "@types/node": "^18.6.0" }, "dependencies": { "@pulumi/aws": "^4.0.0", diff --git a/devops/kubernetes/storage-node/package.json b/devops/kubernetes/storage-node/package.json index 608e5053fa..2e4906d86b 100644 --- a/devops/kubernetes/storage-node/package.json +++ b/devops/kubernetes/storage-node/package.json @@ -1,7 +1,7 @@ { "name": "eks-cluster", "devDependencies": { - "@types/node": "^10.0.0" + "@types/node": "^18.6.0" }, "dependencies": { "@pulumi/aws": "^4.0.0", diff --git a/distributor-node/package.json b/distributor-node/package.json index 3bba56981c..7acb87b4b0 100644 --- a/distributor-node/package.json +++ b/distributor-node/package.json @@ -69,7 +69,7 @@ "@types/inquirer": "^8.1.1", "@types/mime": "^3.0.1", "@types/mocha": "^5", - "@types/node": "^14", + "@types/node": "^18.6.0", "@types/node-cache": "^4.2.5", "@types/node-cleanup": "^2.1.1", "@types/send": "^0.17.0", diff --git a/storage-node/package.json b/storage-node/package.json index fbeb828155..dcb0bacd53 100644 --- a/storage-node/package.json +++ b/storage-node/package.json @@ -79,7 +79,7 @@ "@types/chai": "^4", "@types/cors": "^2.8.12", "@types/mocha": "^5", - "@types/node": "^10", + "@types/node": "^18.6.0", "@types/pg": "^8.6.1", "@types/swagger-ui-express": "^4.1.2", "@types/ws": "^5.1.2", diff --git a/utils/migration-scripts/package.json b/utils/migration-scripts/package.json index 076393f927..ad0c96b994 100644 --- a/utils/migration-scripts/package.json +++ b/utils/migration-scripts/package.json @@ -42,7 +42,7 @@ "@graphql-codegen/typescript-document-nodes": "^1.17.11", "@graphql-codegen/typescript-operations": "^1.17.16", "@oclif/dev-cli": "^1", - "@types/node": "^14", + "@types/node": "^18.6.0", "globby": "^10", "ts-node": "^10.9.1", "typescript": "^3.3" diff --git a/yarn.lock b/yarn.lock index 06a430a799..cd771358ba 100644 --- a/yarn.lock +++ b/yarn.lock @@ -4934,7 +4934,7 @@ resolved "https://registry.yarnpkg.com/@types/node/-/node-20.2.5.tgz#26d295f3570323b2837d322180dfbf1ba156fefb" integrity sha512-JJulVEQXmiY9Px5axXHeYGLSjhkZEnD+MDPDGbCbIAbMslkKwmygtZFy1X6s/075Yo94sf8GuSlFfPzysQrWZQ== -"@types/node@^10", "@types/node@^10.0.3", "@types/node@^10.1.0", "@types/node@^10.17.18": +"@types/node@^10.0.3", "@types/node@^10.1.0": version "10.17.60" resolved "https://registry.yarnpkg.com/@types/node/-/node-10.17.60.tgz#35f3d6213daed95da7f0f73e75bcc6980e90597b" integrity sha512-F0KIgDJfy2nA3zMLmWGKxcH2ZVEtCZXHHdOQs2gSaQ27+lNeEfGxzkIw90aXswATX7AZ33tahPbzy6KAfUreVw== @@ -4944,16 +4944,18 @@ resolved "https://registry.yarnpkg.com/@types/node/-/node-12.20.52.tgz#2fd2dc6bfa185601b15457398d4ba1ef27f81251" integrity sha512-cfkwWw72849SNYp3Zx0IcIs25vABmFh73xicxhCkTcvtZQeIez15PpwQN8fY3RD7gv1Wrxlc9MEtfMORZDEsGw== -"@types/node@^14": - version "14.18.18" - resolved "https://registry.yarnpkg.com/@types/node/-/node-14.18.18.tgz#5c9503030df484ccffcbb935ea9a9e1d6fad1a20" - integrity sha512-B9EoJFjhqcQ9OmQrNorItO+OwEOORNn3S31WuiHvZY/dm9ajkB7AKD/8toessEtHHNL+58jofbq7hMMY9v4yig== - "@types/node@^14.11.2": version "14.18.22" resolved "https://registry.yarnpkg.com/@types/node/-/node-14.18.22.tgz#fd2a15dca290fc9ad565b672fde746191cd0c6e6" integrity sha512-qzaYbXVzin6EPjghf/hTdIbnVW1ErMx8rPzwRNJhlbyJhu2SyqlvjGOY/tbUt6VFyzg56lROcOeSQRInpt63Yw== +"@types/node@^18.6.0": + version "18.19.22" + resolved "https://registry.yarnpkg.com/@types/node/-/node-18.19.22.tgz#f622f92514b897e6b09903e97c16a0db8e94689f" + integrity sha512-p3pDIfuMg/aXBmhkyanPshdfJuX5c5+bQjYLIikPLXAUycEogij/c50n/C+8XOA5L93cU4ZRXtn+dNQGi0IZqQ== + dependencies: + undici-types "~5.26.4" + "@types/node@^8.0.0": version "8.10.66" resolved "https://registry.yarnpkg.com/@types/node/-/node-8.10.66.tgz#dd035d409df322acc83dff62a602f12a5783bbb3" @@ -21526,6 +21528,11 @@ underscore@1.6.0: resolved "https://registry.yarnpkg.com/underscore/-/underscore-1.6.0.tgz#8b38b10cacdef63337b8b24e4ff86d45aea529a8" integrity sha1-izixDKze9jM3uLJOT/htRa6lKag= +undici-types@~5.26.4: + version "5.26.5" + resolved "https://registry.yarnpkg.com/undici-types/-/undici-types-5.26.5.tgz#bcd539893d00b56e964fd2657a4866b221a65617" + integrity sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA== + undici@^5.1.0: version "5.2.0" resolved "https://registry.yarnpkg.com/undici/-/undici-5.2.0.tgz#18c5bd59f8f1b1ed8dcc9dca2f754c44ec994059" From 8ab3a4342e54e65d12006495436f413974493a76 Mon Sep 17 00:00:00 2001 From: Zeeshan Akram <97m.zeeshan@gmail.com> Date: Sat, 9 Mar 2024 19:17:30 +0500 Subject: [PATCH 4/7] set server.requestTimeout value to 0 --- storage-node/src/commands/server.ts | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/storage-node/src/commands/server.ts b/storage-node/src/commands/server.ts index ee0caa6a36..184009052d 100644 --- a/storage-node/src/commands/server.ts +++ b/storage-node/src/commands/server.ts @@ -350,7 +350,11 @@ Supported values: warn, error, debug, info. Default:debug`, }, x_host_id: X_HOST_ID, }) - app.listen(port, () => logger.info(`Listening on http://localhost:${port}`)) + const server = app.listen(port, () => logger.info(`Listening on http://localhost:${port}`)) + + // INFO: https://nodejs.org/dist/latest-v18.x/docs/api/http.html#serverrequesttimeout + // Set the server request timeout to 0 to disable it. This was default behaviour pre Node.js 18.x + server.requestTimeout = 0 } catch (err) { logger.error(`Server error: ${err}`) this.exit(ExitCodes.ServerError) From f58e016fc0908efe90a383c0e4d7251f4723d746 Mon Sep 17 00:00:00 2001 From: Zeeshan Akram <97m.zeeshan@gmail.com> Date: Mon, 11 Mar 2024 14:49:00 +0500 Subject: [PATCH 5/7] bump package version and update CHANGELOG --- distributor-node/CHANGELOG.md | 4 ++++ storage-node/CHANGELOG.md | 9 +++++++++ storage-node/package.json | 2 +- 3 files changed, 14 insertions(+), 1 deletion(-) diff --git a/distributor-node/CHANGELOG.md b/distributor-node/CHANGELOG.md index 4f2423dcbb..905ade51ad 100644 --- a/distributor-node/CHANGELOG.md +++ b/distributor-node/CHANGELOG.md @@ -1,3 +1,7 @@ +### 2.0.0 + +- Replaced `Query-Node` API with `Storage-Squid` Graphql API. This is a breaking change and requires the `endpoints.queryNode` configuration option to be replaced with `endpoints.storageSquid`. + ## 1.5.1 - Added parsing of Axios errors on logger level so that we never log the whole Axios client instance (which is a circular object and causes the node to crash) diff --git a/storage-node/CHANGELOG.md b/storage-node/CHANGELOG.md index d3f90a09c1..00960c0fba 100644 --- a/storage-node/CHANGELOG.md +++ b/storage-node/CHANGELOG.md @@ -1,4 +1,13 @@ +### 4.0.1 + +- Set the `server.requestTimeout` option in `http.Server` instance to 0 to disable the timeout. This was default behaviour pre Node.js `18.x` + +### 4.0.0 + +- Replaced `Query-Node` API with `Storage-Squid` Graphql API. This is a breaking change and requires the `--queryNodeEndpoint` configuration option to be replaced with `--storageSquidEndpoint`. + ### 3.10.2 + - Fix processing large arrays causing high cpu during sync and cleanup runs [#5033](https://github.com/Joystream/joystream/pull/5033) - Fix task runner to avoid ending prematurely on individual task failure [#5033](https://github.com/Joystream/joystream/pull/5033) diff --git a/storage-node/package.json b/storage-node/package.json index dcb0bacd53..d0bf332519 100644 --- a/storage-node/package.json +++ b/storage-node/package.json @@ -1,7 +1,7 @@ { "name": "storage-node", "description": "Joystream storage subsystem.", - "version": "4.0.0", + "version": "4.0.1", "author": "Joystream contributors", "bin": { "storage-node": "./bin/run" From de375196a2ad7e009ed3206cccdb6635888df321 Mon Sep 17 00:00:00 2001 From: Mokhtar Naamani Date: Tue, 12 Mar 2024 10:10:21 +0400 Subject: [PATCH 6/7] bump storage/distributor package version for nara --- distributor-node/package.json | 2 +- storage-node/package.json | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/distributor-node/package.json b/distributor-node/package.json index adb9d3487d..57cd643e03 100644 --- a/distributor-node/package.json +++ b/distributor-node/package.json @@ -1,7 +1,7 @@ { "name": "@joystream/distributor-cli", "description": "Joystream distributor node CLI", - "version": "2.0.0", + "version": "2.1.0", "author": "Joystream contributors", "bin": { "joystream-distributor": "./bin/run" diff --git a/storage-node/package.json b/storage-node/package.json index 87f39917ef..37b8867109 100644 --- a/storage-node/package.json +++ b/storage-node/package.json @@ -1,7 +1,7 @@ { "name": "storage-node", "description": "Joystream storage subsystem.", - "version": "4.0.1", + "version": "4.1.0", "author": "Joystream contributors", "bin": { "storage-node": "./bin/run" From cf91975039f6ea9d6408130ec10a85154ecbac0b Mon Sep 17 00:00:00 2001 From: Mokhtar Naamani Date: Tue, 12 Mar 2024 13:26:03 +0400 Subject: [PATCH 7/7] update storage/distributor CHANGELOG --- distributor-node/CHANGELOG.md | 4 ++++ storage-node/CHANGELOG.md | 4 ++++ 2 files changed, 8 insertions(+) diff --git a/distributor-node/CHANGELOG.md b/distributor-node/CHANGELOG.md index 905ade51ad..7ad063384b 100644 --- a/distributor-node/CHANGELOG.md +++ b/distributor-node/CHANGELOG.md @@ -1,3 +1,7 @@ +### 2.1.0 + +- Nara release. + ### 2.0.0 - Replaced `Query-Node` API with `Storage-Squid` Graphql API. This is a breaking change and requires the `endpoints.queryNode` configuration option to be replaced with `endpoints.storageSquid`. diff --git a/storage-node/CHANGELOG.md b/storage-node/CHANGELOG.md index 00960c0fba..a0ba50c800 100644 --- a/storage-node/CHANGELOG.md +++ b/storage-node/CHANGELOG.md @@ -1,3 +1,7 @@ +### 4.1.0 + +- Nara release. + ### 4.0.1 - Set the `server.requestTimeout` option in `http.Server` instance to 0 to disable the timeout. This was default behaviour pre Node.js `18.x`