Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

「フォローしているユーザーのファイル付きノートのみ含まれる」e2eテストがタイムアウトする #15076

Open
1 task
sakuhanight opened this issue Nov 30, 2024 · 6 comments
Labels
Milestone

Comments

@sakuhanight
Copy link
Contributor

💡 Summary

e2eテストで「フォローしているユーザーのファイル付きノートのみ含まれる」が正常であってもマシンスペックなどの事情によりタイムアウト(10s)する。

🥰 Expected Behavior

正常な場合にタイムアウトしない

🤬 Actual Behavior

タイムアウトする

📝 Steps to Reproduce

  1. マシンスペックやIOの弱い環境でe2eテストを実行する

💻 Frontend Environment

* Model and OS of the device(s):
* Browser:
* Server URL:
* Misskey:

🛰 Backend Environment (for server admin)

* Installation Method or Hosting Service:
* Misskey:
* Node:
* PostgreSQL:
* Redis:
* OS and Architecture:

Do you want to address this bug yourself?

  • Yes, I will patch the bug myself and send a pull request
@sakuhanight sakuhanight added the ⚠️bug? This might be a bug label Nov 30, 2024
@sakuhanight
Copy link
Contributor Author

そもそもなぜタイムアウトするほど時間が掛かっているかの調査をするのが先かもしれません。

@anatawa12
Copy link
Member

#15282 のようにactionsでも落ちるようになった

@sakuhanight
Copy link
Contributor Author

Issue起票当時もActionsでも落ちるときがあった記憶

@samunohito
Copy link
Member

samunohito commented Jan 15, 2025

#15282 の文脈から)

ざっくりとこんな感じのコードを書いてログ出力の時間を計測してみました。

const logger = new MyCustomLogger({ disableQueryTruncation: true });

test('logQuery', () => {
	const query = 'metaテーブルをselectする長いクエリ'

	const start = new Date().getTime();
	for (let i = 0; i < 1000; i++) {
		logger.logQuery(query, []);
	}
	const end = new Date().getTime();

	console.log(`Time: ${end - start}ms`);
});
  • disableQueryTruncation === true
    • truncateSqlしてからhighlightSql -> 2815ms
    • highlightSqlしてからtruncateSql -> 2787ms
  • disableQueryTruncation === false
    • truncateSqlしてからhighlightSql -> 89ms
    • highlightSqlしてからtruncateSql -> 2634ms

「highlightSqlしてからtruncateSql」は今までのロジックで、 #15268 以降「truncateSqlしてからhighlightSql」に変わっています。
上記から、ログの出力はタイムアウトとは直接関係ないと考えます

@samunohito
Copy link
Member

(とりあえず、 #15283 を暫定対処として取り込んでしまいたい気持ち)

@anatawa12
Copy link
Member

logのハイライト関係ないのか...謎だな...

とりあえず取り込んじゃっていいと思う

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
Development

No branches or pull requests

4 participants