RocketChat / RocketChat/Rocket.Chat

General instability since version 6.2.6

Open
#30,850 7 comments 8 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:

I am running a RocketChat server since early 2019. It's been working fine until I upgraded it from 5.1.4 to 6.2.6 back in June 2023. I have since updated to 6.4.2, but the instability persists.

Symptoms include:

  • After pressing Enter to send a message, the message does not appear in the chat (channels, threads DM alike). It's not possible to edit it with "arrow up". It's just lost.
  • Opening a channel doesn't mark it as read. Sometime forcing "mark as read" from the sidebar does not work.
  • Uploading a picture or file fails silently, it does not show the interface to change the description before posting.
  • Channels / threads stop updating.

All of these happen without explicit errors, and the only solution is to fully reload the page.

I have tried the following improvements:

  • Scaling the VM, which now has 4 cores and 24 GiB RAM
  • Replace Apache with Nginx as reverse-proxy
  • Running 3 instances of RocketChat (Systemd services) following this doc
  • Moving to faster storage (the VM runs off a NVMe SSD local to the hypervisor)

And the following troubleshooting:

  • Enable Prometheus to export the app metrics to our Grafana instance.
  • Check logs to look for errors.
  • Check monitoring from the VM / network itself.
  • Check the browser console to look for errors.

The issue is still there.

It's a rather small instance. We have about 25 active users and another 25 away during the day. The whole MongoDB weighs 60 GiB (there's years of stuff in there).

Load on the VM is minimal:
Capture d’écran du 2023-11-03 11-32-16

Load on the app itself is minimal:
Capture d’écran du 2023-11-03 11-15-10

Capture d’écran du 2023-11-03 11-28-04

App monitoring show it's responsive (Meteor Methods Total Time):
Capture d’écran du 2023-11-03 11-29-18

The "Messages round trip" value seems of high, but I'm unsure about what this is exactly since this value is missing from the doc.
Capture d’écran du 2023-11-03 11-28-43

These values (Callback: API_Embed and Hook: AfterSaveMessage) also seem high
Capture d’écran du 2023-11-03 11-47-19
Capture d’écran du 2023-11-03 11-47-08

Steps to reproduce:

Issue appears randomly but often since the upgrade to 6.x.x.

Expected behavior:

RocketChat is as stable as it was on version 5.x.

Actual behavior:
Server Setup Information:
  • Version of Rocket.Chat Server: 6.4.2
  • Operating System: Debian 11.8
  • Deployment Method: Tar
  • Number of Running Instances: 3 instances on same 4-core VM
  • DB Replicaset Oplog:
  • NodeJS Version: 14.21.3
  • MongoDB Version: 5.0.18 / wiredTiger (oplog Enabled)
Client Setup Information
  • Desktop App or Browser Version: Reproduced in recent version of Chrome and Firefox, as well as native apps (Linux, Android, IOS).
  • Operating System:
Additional context

The issue has been noticed by most users regardless of OS, browser, physical location...

Relevant logs:

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

No source file, test, or entry point is identified. Start by reproducing the failures across the listed clients while checking browser-console and server logs, then compare behavior with version 5.1.4 and inspect the reported metrics; done means identifying and addressing the cause so sending, read state, uploads, and live updates work without a full reload.

Written by the indexing model from the issue text.

Assessment

Tech stack
javascript, mongodb, nodejs, typescript
Domain
full-stack
Issue type
Bug
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
20/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.