From 82486a873ab64ccf8de4f3be76aee9200e6462c8 Mon Sep 17 00:00:00 2001 From: Moxie Marlinspike Date: Tue, 19 Nov 2019 12:12:53 -0800 Subject: [PATCH] Delete old username mapping when setting new one --- .../whispersystems/textsecuregcm/storage/UsernamesManager.java | 2 ++ 1 file changed, 2 insertions(+) diff --git a/service/src/main/java/org/whispersystems/textsecuregcm/storage/UsernamesManager.java b/service/src/main/java/org/whispersystems/textsecuregcm/storage/UsernamesManager.java index 09bb3ee63..cb414dd7a 100644 --- a/service/src/main/java/org/whispersystems/textsecuregcm/storage/UsernamesManager.java +++ b/service/src/main/java/org/whispersystems/textsecuregcm/storage/UsernamesManager.java @@ -112,6 +112,8 @@ public class UsernamesManager { try (Jedis jedis = cacheClient.getWriteResource(); Timer.Context ignored = redisSetTimer.time()) { + Optional.ofNullable(jedis.get(getUuidMapKey(uuid))).ifPresent(oldUsername -> jedis.del(getUsernameMapKey(oldUsername))); + jedis.set(getUuidMapKey(uuid), username); jedis.set(getUsernameMapKey(username), uuid.toString()); }