Delete messages lazily on account and device deletion to prevent timeouts when deleting accounts/devices with large queues

This commit is contained in:
Jonathan Klabunde Tomer
2024-06-04 12:16:43 -07:00
committed by GitHub
parent 4ef6266e8f
commit 01743e5c88
15 changed files with 415 additions and 176 deletions

View File

@@ -724,7 +724,7 @@ public class MessageController {
return messagesManager.getMessagesForDevice(
auth.getAccount().getUuid(),
auth.getAuthenticatedDevice().getId(),
auth.getAuthenticatedDevice(),
false)
.map(messagesAndHasMore -> {
Stream<Envelope> envelopes = messagesAndHasMore.first().stream();
@@ -768,7 +768,7 @@ public class MessageController {
public CompletableFuture<Response> removePendingMessage(@ReadOnly @Auth AuthenticatedAccount auth, @PathParam("uuid") UUID uuid) {
return messagesManager.delete(
auth.getAccount().getUuid(),
auth.getAuthenticatedDevice().getId(),
auth.getAuthenticatedDevice(),
uuid,
null)
.thenAccept(maybeDeletedMessage -> {