RocketChat / RocketChat/Rocket.Chat
Service '$node.list' is not available - Workspace Info page unavailable
Nobody has claimed this yet.
- Dominant language
- TypeScript
- Stars
- 46.1k
- Forks
- 13.9k
- Avg merge
- 3d 3h
- Merged PRs (30d)
- 130
Description
Description:
Since upgrading Mongo from v4 to v5 I am unable to access /admin/info Workspaces page as per the screenshot attached.
The following error is in the logs.
{
"level": 35,
"time": "2023-12-19T14:31:20.949Z",
"pid": 1,
"hostname": "myserver.myhost.com",
"name": "API",
"method": "GET",
"url": "/api/v1/instances.get",
"userId": "hYHbjXWQMSRMu2szG",
"userAgent": "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36",
"host": "chat.myhost.com",
"referer": "https://chat.myhost.com/admin/info",
"remoteIP": "my.remote.I.P",
"err": {
"type": "ServiceNotAvailableError",
"message": "Service '$node.list' is not available.",
"stack": "ServiceNotAvailableError: Service '$node.list' is not available.\n at ServiceBroker.findNextActionEndpoint (/app/bundle/programs/server/npm/node_modules/moleculer/src/service-broker.js:1156:13)\n at ServiceBroker.call (/app/bundle/programs/server/npm/node_modules/moleculer/src/service-broker.js:1197:26)\n at ee/server/local-services/instance/service.ts:198:22\n at /app/bundle/programs/server/npm/node_modules/meteor/promise/node_modules/meteor-promise/fiber_pool.js:43:40\n => awaited here:\n at Function.Promise.await (/app/bundle/programs/server/npm/node_modules/meteor/promise/node_modules/meteor-promise/promise_server.js:56:12)\n at app/api/server/v1/instances.ts:27:21\n at /app/bundle/programs/server/npm/node_modules/meteor/promise/node_modules/meteor-promise/fiber_pool.js:43:40\n => awaited here:\n at Function.Promise.await (/app/bundle/programs/server/npm/node_modules/meteor/promise/node_modules/meteor-promise/promise_server.js:56:12)\n at packages/meteor.js:367:22\n at Meteor.EnvironmentVariable.EVp.withValue (packages/meteor.js:1389:31)\n at app/api/server/api.ts:635:39\n at /app/bundle/programs/server/npm/node_modules/meteor/promise/node_modules/meteor-promise/fiber_pool.js:43:40",
"code": 404,
"data": {
"action": "$node.list"
},
"retryable": true
},
"status": 400,
"responseTime": 6,
"msg": "Service '$node.list' is not available."
}
Steps to reproduce:
Upgrade to local Mongo 5 - (Mongo is not dockerised on this install)
Stop/Start rocket docker VM
Access Workspace Info page with any client
Expected behavior:
View the Workspace Info page
Actual behavior:
Page displays
"Error loading pages"
Server Setup Information:
- Version of Rocket.Chat Server: 6.5.0 - EE licence
- Operating System: Centos
- Deployment Method: Docker
- Number of Running Instances: 1
- MongoDB Version: 5.0.x
- Apache reverse proxy
Additional context
System upgraded with no issues with docker continuously following my own guide on the help pages ;-)
I am not sure whether this is Rocket/Node or possibly the reverse proxy not understanding a URL used to access the page?
How would you normally access '$node.list' ?
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start by tracing the /api/v1/instances.get path through app/api/server/v1/instances.ts and ee/server/local-services/instance/service.ts, focusing on the logged $node.list failure after a MongoDB 5 upgrade. Reproduce the issue with the listed Docker and MongoDB setup, then verify that the /admin/info Workspaces page loads successfully without the ServiceNotAvailableError.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- mongodb, typescript
- Domain
- api, backend, databases
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100