Load tester hanging in login function (due to client.subscribe)

オープン
#8 コメント 1 件 リアクション 0 件 担当者 0 名 GitHub で見る

まだ誰も着手していません。

評価

難易度
3/5
見積もり時間
1〜2日
初心者へのやさしさ
25/100
issue の種類
バグ
明瞭さ
説明が足りない
活発さ
停滞
技術スタック
javascript
領域
api, testing-qa

調査の方向性

api.js の172行目から始め、subscription ブロックを有効にした状態でログイン中にロードテスターがハングする状況を再現し、その後、ブロックをコメントアウトした場合と比較します。client.subscribeUserData() と subscribe 呼び出しを追跡して、実行がどこで停止するかを特定します。ログインがハングせずに完了し、意図した callback データが引き続き利用可能であれば完了です。

索引モデルが issue の本文から書いたものです。

説明

Hello there

I have found an issue, apparently caused by this block in api.js, line 172

				if (!NO_SUBSCRIBE) {
					await client.subscribeUserData();
				} else if (NO_SUBSCRIBE === 'no-active') {
					await Promise.all([
						'roles',
						'webdavAccounts',
						'userData',
						// 'activeUsers'
					].map(stream => client.subscribe(stream, '')));
				}

It looks like the execution is hanging there, because if I comment that block, the project is working very well...
I understand that this block allows us to get some "callback" data after our actions, but I may need your help understanding it better, hopefully we'll manage to fix it

Thanks in advance

主要言語
TypeScript
スター
11
フォーク
7
PR マージ指標
30日以内にマージされた PR はありません

環境構築

  • Dockerfile または Docker Compose ファイルあり
  • プルリクエストのテンプレートなし
  • コントリビューションガイドなし

はじめの一歩

  1. issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
  2. 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
  3. リポジトリをフォークし、ブランチを切って変更します。
  4. issue 番号を参照したプルリクエストを送ります。

RocketChat/rocket.chat.load.tester のほかの issue

RocketChat/rocket.chat.load.tester の issue をすべて見る

似ている issue

TypeScript の issue をもっと見る

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。