RocketChat / RocketChat/Rocket.Chat

file upload fails when multiple distinct instances run on same server caused by non local /tmp/ufs directory

Open
#13,395 11 comments 1 reaction 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:

the aim is not increase performance but providing diffrent rocket.chat on same machine, so I don't want to replicate databases :
when installing 2 distinct instances (distinct domaine names, distinct databases), on same server, (same mongod server)
file upload fails in second instance
file download still works fine on both
I'm using GridFS

Steps to reproduce:

any attempt to upload a file into a channel, progress bar remains at 0

Expected behavior:

correct upload as databases are different
why don't use /tmp/ufs/<user> instead of /tmp/ufs ? same for rocket.chat_importer
the question is : is it possible to install different isolated instances of rocketchat on a same machine ???

Actual behavior:

Error_RocketChat_requires_oplog_tailing_when_running_in_multiple_instances

Error_RocketChat_requires_oplog_tailing_when_running_in_multiple_instances_details

Server Setup Information:
  • Version of Rocket.Chat Server: 0.74.2
  • Operating System: ubuntu 16.04
  • Deployment Method: tar / ansible role
  • Number of Running Instances: 2 instances listening, 2 distinct databases on different ports behind same nginx
  • DB Replicaset Oplog: None
  • NodeJS Version: 8.11.4
Additional context

:

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

Start by tracing the file-upload path that uses /tmp/ufs and the GridFS configuration; no source file or test is named in the issue. Reproduce with two Rocket.Chat instances using separate databases, then verify that uploads succeed independently without the multiple-instance oplog error.

Written by the indexing model from the issue text.

Assessment

Tech stack
mongodb, node.js
Domain
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.