Clear Redis cache entries strictly after removing accounts from DynamoDB

This commit is contained in:
Jon Chambers 2023-12-21 11:06:45 -05:00 committed by Jon Chambers
parent 057d1f07a8
commit 5d6bea5ec9
1 changed files with 2 additions and 1 deletions

View File

@ -1017,7 +1017,8 @@ public class AccountsManager {
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()))));