From 5d6bea5ec9e9c0aaddb95afa615ab9c6365c495d Mon Sep 17 00:00:00 2001 From: Jon Chambers Date: Thu, 21 Dec 2023 11:06:45 -0500 Subject: [PATCH] Clear Redis cache entries strictly after removing accounts from DynamoDB --- .../whispersystems/textsecuregcm/storage/AccountsManager.java | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/service/src/main/java/org/whispersystems/textsecuregcm/storage/AccountsManager.java b/service/src/main/java/org/whispersystems/textsecuregcm/storage/AccountsManager.java index 76baf98d7..06bf787f7 100644 --- a/service/src/main/java/org/whispersystems/textsecuregcm/storage/AccountsManager.java +++ b/service/src/main/java/org/whispersystems/textsecuregcm/storage/AccountsManager.java @@ -1017,7 +1017,8 @@ private CompletableFuture delete(final Account account) { messagesManager.clear(account.getPhoneNumberIdentifier()), profilesManager.deleteAll(account.getUuid()), registrationRecoveryPasswordsManager.removeForNumber(account.getNumber())) - .thenCompose(ignored -> CompletableFuture.allOf(accounts.delete(account.getUuid(), additionalWriteItems), redisDeleteAsync(account))) + .thenCompose(ignored -> accounts.delete(account.getUuid(), additionalWriteItems)) + .thenCompose(ignored -> redisDeleteAsync(account)) .thenRun(() -> RedisOperation.unchecked(() -> account.getDevices().forEach(device -> clientPresenceManager.disconnectPresence(account.getUuid(), device.getId()))));