0
0
mirror of https://github.com/signalapp/Signal-Server.git synced 2024-09-20 12:02:18 +02:00

Set consistentRead=true for registration recovery password lookup

This avoids a race condition (in integration test situations) where a lookup could return no results
This commit is contained in:
Chris Eager 2023-07-06 10:19:45 -05:00 committed by Jon Chambers
parent 62e02a49df
commit 5ced86af1d
2 changed files with 4 additions and 4 deletions

View File

@ -67,7 +67,7 @@ public interface RateLimiter {
/**
* If the wrapped {@code validate()} call throws a {@link RateLimitExceededException}, it will adapt it to ensure that
* {@link RateLimitExceededException#isLegacy()} returns {@code true}
* {@link RateLimitExceededException#isLegacy()} returns {@code false}
*/
static void adaptLegacyException(final RateLimitValidator validator) throws RateLimitExceededException {
try {

View File

@ -60,9 +60,9 @@ public class RegistrationRecoveryPasswords extends AbstractDynamoDbStore {
public CompletableFuture<Optional<SaltedTokenHash>> lookup(final String number) {
return asyncClient.getItem(GetItemRequest.builder()
.tableName(tableName)
.key(Map.of(
KEY_E164, AttributeValues.fromString(number)))
.tableName(tableName)
.key(Map.of(KEY_E164, AttributeValues.fromString(number)))
.consistentRead(true)
.build())
.thenApply(getItemResponse -> {
final Map<String, AttributeValue> item = getItemResponse.item();