RocketChat / RocketChat/Rocket.Chat

Service '$node.list' is not available - Workspace Info page unavailable

Open
#31,354 7 comments 0 reactions 0 assignees View on GitHub

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"

Screenshot_2024-01-02_14-48-28

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

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.