From 437bc1358bcd9de6be578464497ef6bc36a52bb3 Mon Sep 17 00:00:00 2001 From: Chris Eager Date: Fri, 3 Mar 2023 18:50:48 -0600 Subject: [PATCH] Use server timestamp for queue score --- .../whispersystems/textsecuregcm/storage/MessagesCache.java | 2 +- .../storage/MessagePersisterIntegrationTest.java | 6 +++--- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/service/src/main/java/org/whispersystems/textsecuregcm/storage/MessagesCache.java b/service/src/main/java/org/whispersystems/textsecuregcm/storage/MessagesCache.java index b7463bfb9..2b0bd0d2f 100644 --- a/service/src/main/java/org/whispersystems/textsecuregcm/storage/MessagesCache.java +++ b/service/src/main/java/org/whispersystems/textsecuregcm/storage/MessagesCache.java @@ -161,7 +161,7 @@ public class MessagesCache extends RedisClusterPubSubAdapter imp getMessageQueueMetadataKey(destinationUuid, destinationDevice), getQueueIndexKey(destinationUuid, destinationDevice)), List.of(messageWithGuid.toByteArray(), - String.valueOf(message.getTimestamp()).getBytes(StandardCharsets.UTF_8), + String.valueOf(message.getServerTimestamp()).getBytes(StandardCharsets.UTF_8), guid.toString().getBytes(StandardCharsets.UTF_8)))); } diff --git a/service/src/test/java/org/whispersystems/textsecuregcm/storage/MessagePersisterIntegrationTest.java b/service/src/test/java/org/whispersystems/textsecuregcm/storage/MessagePersisterIntegrationTest.java index 9716623e3..e197030fc 100644 --- a/service/src/test/java/org/whispersystems/textsecuregcm/storage/MessagePersisterIntegrationTest.java +++ b/service/src/test/java/org/whispersystems/textsecuregcm/storage/MessagePersisterIntegrationTest.java @@ -179,10 +179,10 @@ class MessagePersisterIntegrationTest { return bb.getLong(); } - private MessageProtos.Envelope generateRandomMessage(final UUID messageGuid, final long timestamp) { + private MessageProtos.Envelope generateRandomMessage(final UUID messageGuid, final long serverTimestamp) { return MessageProtos.Envelope.newBuilder() - .setTimestamp(timestamp) - .setServerTimestamp(timestamp) + .setTimestamp(serverTimestamp * 2) // client timestamp may not be accurate + .setServerTimestamp(serverTimestamp) .setContent(ByteString.copyFromUtf8(RandomStringUtils.randomAlphanumeric(256))) .setType(MessageProtos.Envelope.Type.CIPHERTEXT) .setServerGuid(messageGuid.toString())