diff options
| author | zyoshoka <107108195+zyoshoka@users.noreply.github.com> | 2025-06-04 19:14:11 +0900 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2025-06-04 19:14:11 +0900 |
| commit | 65ba33867bf9ad78bd77fcf4fc70d4bc821c5bd1 (patch) | |
| tree | 11b9b940bc57211b25882db3bab35efff9195482 /packages | |
| parent | New Crowdin updates (#16155) (diff) | |
| download | misskey-65ba33867bf9ad78bd77fcf4fc70d4bc821c5bd1.tar.gz misskey-65ba33867bf9ad78bd77fcf4fc70d4bc821c5bd1.tar.bz2 misskey-65ba33867bf9ad78bd77fcf4fc70d4bc821c5bd1.zip | |
fix(backend): avoid deadlock when deleting account (#16162)
Diffstat (limited to 'packages')
| -rw-r--r-- | packages/backend/src/core/DriveService.ts | 6 | ||||
| -rw-r--r-- | packages/backend/test-federation/test/user.test.ts | 8 |
2 files changed, 5 insertions, 9 deletions
diff --git a/packages/backend/src/core/DriveService.ts b/packages/backend/src/core/DriveService.ts index 1945c58e5b..567bad2a2d 100644 --- a/packages/backend/src/core/DriveService.ts +++ b/packages/backend/src/core/DriveService.ts @@ -803,14 +803,14 @@ export class DriveService { await Promise.all(promises); } - this.deletePostProcess(file, isExpired, deleter); + await this.deletePostProcess(file, isExpired, deleter); } @bindThis private async deletePostProcess(file: MiDriveFile, isExpired = false, deleter?: MiUser) { // リモートファイル期限切れ削除後は直リンクにする if (isExpired && file.userHost !== null && file.uri != null) { - this.driveFilesRepository.update(file.id, { + await this.driveFilesRepository.update(file.id, { isLink: true, url: file.uri, thumbnailUrl: null, @@ -822,7 +822,7 @@ export class DriveService { webpublicAccessKey: 'webpublic-' + randomUUID(), }); } else { - this.driveFilesRepository.delete(file.id); + await this.driveFilesRepository.delete(file.id); } this.driveChart.update(file, false); diff --git a/packages/backend/test-federation/test/user.test.ts b/packages/backend/test-federation/test/user.test.ts index ee69e857bc..ebbe9ff5ba 100644 --- a/packages/backend/test-federation/test/user.test.ts +++ b/packages/backend/test-federation/test/user.test.ts @@ -380,9 +380,7 @@ describe('User', () => { strictEqual(followers.length, 1); // followed by Bob await alice.client.request('i/delete-account', { password: alice.password }); - // NOTE: user deletion query is slow - // FIXME: ensure user is removed successfully - await sleep(10000); + await sleep(); const following = await bob.client.request('users/following', { userId: bob.id }); strictEqual(following.length, 0); // no following relation @@ -480,9 +478,7 @@ describe('User', () => { strictEqual(followers.length, 1); // followed by Bob await aAdmin.client.request('admin/suspend-user', { userId: alice.id }); - // NOTE: user deletion query is slow - // FIXME: ensure user is removed successfully - await sleep(10000); + await sleep(); const following = await bob.client.request('users/following', { userId: bob.id }); strictEqual(following.length, 0); // no following relation |