From 28fe44aea48d516fa253b8aa1fc71491a732d792 Mon Sep 17 00:00:00 2001 From: Ehren Kret Date: Wed, 10 Feb 2021 10:04:26 -0600 Subject: [PATCH] Remove messages dynamo db experiment --- .../storage/MessagesManager.java | 41 ++++++------------- 1 file changed, 13 insertions(+), 28 deletions(-) diff --git a/service/src/main/java/org/whispersystems/textsecuregcm/storage/MessagesManager.java b/service/src/main/java/org/whispersystems/textsecuregcm/storage/MessagesManager.java index 7984c0f81..4eade3aab 100644 --- a/service/src/main/java/org/whispersystems/textsecuregcm/storage/MessagesManager.java +++ b/service/src/main/java/org/whispersystems/textsecuregcm/storage/MessagesManager.java @@ -6,9 +6,16 @@ package org.whispersystems.textsecuregcm.storage; +import static com.codahale.metrics.MetricRegistry.name; + import com.codahale.metrics.Meter; import com.codahale.metrics.MetricRegistry; import com.codahale.metrics.SharedMetricRegistries; +import java.util.ArrayList; +import java.util.List; +import java.util.Optional; +import java.util.UUID; +import java.util.stream.Collectors; import org.whispersystems.textsecuregcm.entities.MessageProtos.Envelope; import org.whispersystems.textsecuregcm.entities.OutgoingMessageEntity; import org.whispersystems.textsecuregcm.entities.OutgoingMessageEntityList; @@ -17,18 +24,8 @@ import org.whispersystems.textsecuregcm.metrics.PushLatencyManager; import org.whispersystems.textsecuregcm.redis.RedisOperation; import org.whispersystems.textsecuregcm.util.Constants; -import java.util.ArrayList; -import java.util.List; -import java.util.Optional; -import java.util.UUID; -import java.util.stream.Collectors; - -import static com.codahale.metrics.MetricRegistry.name; - public class MessagesManager { - private static final String READ_DYNAMODB_EXPERIMENT = "messages_dynamodb_read"; - private static final String WRITE_DYNAMODB_EXPERIMENT = "messages_dynamodb_write"; private static final String DISABLE_RDS_EXPERIMENT = "messages_disable_rds"; private static final MetricRegistry metricRegistry = SharedMetricRegistries.getOrCreate(Constants.METRICS_NAME); @@ -76,7 +73,7 @@ public class MessagesManager { messageList.addAll(messages.load(destination, destinationDevice)); } - if (messageList.size() < Messages.RESULT_SET_CHUNK_SIZE && !cachedMessagesOnly && experimentEnrollmentManager.isEnrolled(destinationUuid, READ_DYNAMODB_EXPERIMENT)) { + if (messageList.size() < Messages.RESULT_SET_CHUNK_SIZE && !cachedMessagesOnly) { messageList.addAll(messagesDynamoDb.load(destinationUuid, destinationDevice, Messages.RESULT_SET_CHUNK_SIZE - messageList.size())); } @@ -91,9 +88,7 @@ public class MessagesManager { // TODO Remove this null check in a fully-UUID-ified world if (destinationUuid != null) { messagesCache.clear(destinationUuid); - if (experimentEnrollmentManager.isEnrolled(destinationUuid, WRITE_DYNAMODB_EXPERIMENT)) { - messagesDynamoDb.deleteAllMessagesForAccount(destinationUuid); - } + messagesDynamoDb.deleteAllMessagesForAccount(destinationUuid); if (!experimentEnrollmentManager.isEnrolled(destinationUuid, DISABLE_RDS_EXPERIMENT)) { messages.clear(destination); } @@ -104,9 +99,7 @@ public class MessagesManager { public void clear(String destination, UUID destinationUuid, long deviceId) { messagesCache.clear(destinationUuid, deviceId); - if (experimentEnrollmentManager.isEnrolled(destinationUuid, WRITE_DYNAMODB_EXPERIMENT)) { - messagesDynamoDb.deleteAllMessagesForDevice(destinationUuid, deviceId); - } + messagesDynamoDb.deleteAllMessagesForDevice(destinationUuid, deviceId); if (!experimentEnrollmentManager.isEnrolled(destinationUuid, DISABLE_RDS_EXPERIMENT)) { messages.clear(destination, deviceId); } @@ -116,9 +109,7 @@ public class MessagesManager { Optional removed = messagesCache.remove(destinationUuid, destinationDevice, source, timestamp); if (removed.isEmpty()) { - if (experimentEnrollmentManager.isEnrolled(destinationUuid, WRITE_DYNAMODB_EXPERIMENT)) { - removed = messagesDynamoDb.deleteMessageByDestinationAndSourceAndTimestamp(destinationUuid, destinationDevice, source, timestamp); - } + removed = messagesDynamoDb.deleteMessageByDestinationAndSourceAndTimestamp(destinationUuid, destinationDevice, source, timestamp); if (removed.isEmpty() && !experimentEnrollmentManager.isEnrolled(destinationUuid, DISABLE_RDS_EXPERIMENT)) { removed = messages.remove(destination, destinationDevice, source, timestamp); } @@ -134,9 +125,7 @@ public class MessagesManager { Optional removed = messagesCache.remove(destinationUuid, deviceId, guid); if (removed.isEmpty()) { - if (experimentEnrollmentManager.isEnrolled(destinationUuid, WRITE_DYNAMODB_EXPERIMENT)) { - removed = messagesDynamoDb.deleteMessageByDestinationAndGuid(destinationUuid, deviceId, guid); - } + removed = messagesDynamoDb.deleteMessageByDestinationAndGuid(destinationUuid, deviceId, guid); if (removed.isEmpty() && !experimentEnrollmentManager.isEnrolled(destinationUuid, DISABLE_RDS_EXPERIMENT)) { removed = messages.remove(destination, guid); } @@ -154,11 +143,7 @@ public class MessagesManager { } public void persistMessages(final String destination, final UUID destinationUuid, final long destinationDeviceId, final List messages) { - if (experimentEnrollmentManager.isEnrolled(destinationUuid, WRITE_DYNAMODB_EXPERIMENT)) { - messagesDynamoDb.store(messages, destinationUuid, destinationDeviceId); - } else { - this.messages.store(messages, destination, destinationDeviceId); - } + messagesDynamoDb.store(messages, destinationUuid, destinationDeviceId); messagesCache.remove(destinationUuid, destinationDeviceId, messages.stream().map(message -> UUID.fromString(message.getServerGuid())).collect(Collectors.toList())); }