RocketChat / RocketChat/rocket.chat.load.tester

[ddp] Call error: [ddp] sending without open connection

Open
#5 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
TypeScript
Stars
11
Forks
7
Avg merge
2d 6h
Merged PRs (30d)
2

Description

Hi,

I try to use your tool to perform load test of rocketch chat. But for 350 users app crash with error:

joining room: GENERAL
opening rooms

sending messages
done!
[ '[ddp] Call error: [ddp] sending without open connection' ]
/home/emikolajczak/rocket.chat.load.tester/src/server.js:65
        throw up;
        ^
Error: [ddp] sending without open connection
    at Promise (/home/emikolajczak/rocket.chat.load.tester/node_modules/@rocket.chat/src/lib/drivers/ddp.ts:212:35)
    at new Promise (<anonymous>)
    at Socket.<anonymous> (/home/emikolajczak/rocket.chat.load.tester/node_modules/@rocket.chat/src/lib/drivers/ddp.ts:211:12)
    at Generator.next (<anonymous>)
    at /home/emikolajczak/rocket.chat.load.tester/node_modules/@rocket.chat/sdk/lib/drivers/ddp.js:11:71
    at new Promise (<anonymous>)
    at __awaiter (/home/emikolajczak/rocket.chat.load.tester/node_modules/@rocket.chat/sdk/lib/drivers/ddp.js:7:12)
    at Socket.send (/home/emikolajczak/rocket.chat.load.tester/node_modules/@rocket.chat/sdk/lib/drivers/ddp.js:198:16)
    at Socket.<anonymous> (/home/emikolajczak/rocket.chat.load.tester/node_modules/@rocket.chat/src/lib/drivers/ddp.ts:256:33)
    at Generator.next (<anonymous>)
[nodemon] app crashed - waiting for file changes before starting...

My configuration is:

export HOST_URL=xxx
export PORT=3000
export REDIS_HOST=redis
export TRY_REGISTER=yes
export HOW_MANY=350
export SEATS_PER_ROOM=20000
export LOGIN_BATCH=10
export MESSAGE_SENDING_RATE=0.017
export ROOM_ID=GENERAL
export OPEN_ROOM=yes
export SSL_ENABLED=yes
export SEND_MESSAGES=yes
export CLIENT_TYPE=web
export USERS_USERNAME=tester-%s
export USERS_PASSWORD=tester-%s
export USERS_EMAIL=tester-%s@domain.com
export JOIN_ROOM=GENERAL
export LOG_IN=yes
export NO_SUBSCRIBE=no
export INITIAL_LOGIN_OFFSET=1
export LOGIN_OFFSET=1

Error occurs regardless number of running instances.

Server Setup Information:
  • Version of Rocket.Chat Server: 3.0.12
  • Operating System: Centos7
  • Deployment Method: docker-compose
  • Number of Running Instances: 25
  • DB Replicaset Oplog: YES
  • NodeJS Version: v12.14.0
  • MongoDB Version: 4.0.16

Contributor guide

No contributing guide indexed for this repository

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

Reproduce the failure with the supplied configuration, especially HOW_MANY=350, then start at src/server.js:65 and follow the stack into @rocket.chat/src/lib/drivers/ddp.ts at lines 212 and 256. Determine why sending occurs without an open connection; done means the load test no longer crashes with this error under the reported setup.

Written by the indexing model from the issue text.

Assessment

Tech stack
docker-compose, mongodb, node.js, redis, typescript
Domain
backend, networking, testing-qa
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.