From 76389bd584a47b16134f92b6756bdf61fae4a91f Mon Sep 17 00:00:00 2001 From: Jon Chambers Date: Thu, 30 Jul 2020 18:57:05 -0400 Subject: [PATCH] Clear would-be-persisted messages from the cache cluster, but don't store them to the database. --- .../textsecuregcm/storage/RedisClusterMessagePersister.java | 6 +++--- .../storage/RedisClusterMessagePersisterTest.java | 6 ++---- 2 files changed, 5 insertions(+), 7 deletions(-) diff --git a/service/src/main/java/org/whispersystems/textsecuregcm/storage/RedisClusterMessagePersister.java b/service/src/main/java/org/whispersystems/textsecuregcm/storage/RedisClusterMessagePersister.java index f2c7e585e..b0f7b336e 100644 --- a/service/src/main/java/org/whispersystems/textsecuregcm/storage/RedisClusterMessagePersister.java +++ b/service/src/main/java/org/whispersystems/textsecuregcm/storage/RedisClusterMessagePersister.java @@ -128,18 +128,18 @@ public class RedisClusterMessagePersister implements Managed { int messageCount = 0; List messages; - /* do { + do { messages = messagesCache.getMessagesToPersist(accountUuid, deviceId, MESSAGE_BATCH_LIMIT); for (final MessageProtos.Envelope message : messages) { final UUID uuid = UUID.fromString(message.getServerGuid()); - messagesDatabase.store(uuid, message, accountNumber, deviceId); + // messagesDatabase.store(uuid, message, accountNumber, deviceId); messagesCache.remove(accountNumber, accountUuid, deviceId, uuid); messageCount++; } - } while (messages.size() == MESSAGE_BATCH_LIMIT); */ + } while (messages.size() == MESSAGE_BATCH_LIMIT); queueSizeHistogram.update(messageCount); } finally { diff --git a/service/src/test/java/org/whispersystems/textsecuregcm/storage/RedisClusterMessagePersisterTest.java b/service/src/test/java/org/whispersystems/textsecuregcm/storage/RedisClusterMessagePersisterTest.java index 08c6ad0ea..8921cd87c 100644 --- a/service/src/test/java/org/whispersystems/textsecuregcm/storage/RedisClusterMessagePersisterTest.java +++ b/service/src/test/java/org/whispersystems/textsecuregcm/storage/RedisClusterMessagePersisterTest.java @@ -3,7 +3,6 @@ package org.whispersystems.textsecuregcm.storage; import com.google.protobuf.ByteString; import org.apache.commons.lang3.RandomStringUtils; import org.junit.Before; -import org.junit.Ignore; import org.junit.Test; import org.whispersystems.textsecuregcm.entities.MessageProtos; import org.whispersystems.textsecuregcm.push.PushSender; @@ -28,7 +27,6 @@ import static org.mockito.Mockito.times; import static org.mockito.Mockito.verify; import static org.mockito.Mockito.when; -@Ignore public class RedisClusterMessagePersisterTest { private RedisClusterMessagesCache messagesCache; @@ -143,7 +141,7 @@ public class RedisClusterMessagePersisterTest { verify(messagesCache).lockQueueForPersistence(queueName); verify(messagesCache).getMessagesToPersist(DESTINATION_ACCOUNT_UUID, DESTINATION_DEVICE_ID, RedisClusterMessagePersister.MESSAGE_BATCH_LIMIT); - verify(messagesDatabase).store(UUID.fromString(message.getServerGuid()), message, DESTINATION_ACCOUNT_NUMBER, DESTINATION_DEVICE_ID); + // verify(messagesDatabase).store(UUID.fromString(message.getServerGuid()), message, DESTINATION_ACCOUNT_NUMBER, DESTINATION_DEVICE_ID); verify(messagesCache).remove(DESTINATION_ACCOUNT_NUMBER, DESTINATION_ACCOUNT_UUID, DESTINATION_DEVICE_ID, UUID.fromString(message.getServerGuid())); verify(messagesCache).unlockQueueForPersistence(queueName); } @@ -169,7 +167,7 @@ public class RedisClusterMessagePersisterTest { verify(messagesCache).lockQueueForPersistence(queueName); verify(messagesCache, times(4)).getMessagesToPersist(DESTINATION_ACCOUNT_UUID, DESTINATION_DEVICE_ID, RedisClusterMessagePersister.MESSAGE_BATCH_LIMIT); - verify(messagesDatabase, times(messageCount)).store(any(UUID.class), any(MessageProtos.Envelope.class), eq(DESTINATION_ACCOUNT_NUMBER), eq(DESTINATION_DEVICE_ID)); + // verify(messagesDatabase, times(messageCount)).store(any(UUID.class), any(MessageProtos.Envelope.class), eq(DESTINATION_ACCOUNT_NUMBER), eq(DESTINATION_DEVICE_ID)); verify(messagesCache, times(messageCount)).remove(eq(DESTINATION_ACCOUNT_NUMBER), eq(DESTINATION_ACCOUNT_UUID), eq(DESTINATION_DEVICE_ID), any(UUID.class)); verify(messagesCache).unlockQueueForPersistence(queueName); }