From 8c96940a2780708eb6a53653c4ce23fb2c60d2a9 Mon Sep 17 00:00:00 2001 From: gbrodman Date: Thu, 9 Oct 2025 12:57:21 -0400 Subject: [PATCH] Only load from ClaimsList once when filling the cache (#2843) --- .../google/registry/model/tmch/ClaimsListDao.java | 14 +++++--------- 1 file changed, 5 insertions(+), 9 deletions(-) diff --git a/core/src/main/java/google/registry/model/tmch/ClaimsListDao.java b/core/src/main/java/google/registry/model/tmch/ClaimsListDao.java index ef668d891..2e041794e 100644 --- a/core/src/main/java/google/registry/model/tmch/ClaimsListDao.java +++ b/core/src/main/java/google/registry/model/tmch/ClaimsListDao.java @@ -15,7 +15,6 @@ package google.registry.model.tmch; import static google.registry.config.RegistryConfig.getClaimsListCacheDuration; -import static google.registry.persistence.transaction.QueryComposer.Comparator.EQ; import static google.registry.persistence.transaction.TransactionManagerFactory.tm; import static google.registry.util.DateTimeUtils.START_OF_TIME; @@ -79,14 +78,11 @@ public class ClaimsListDao { */ private static ClaimsList getUncached() { return tm().reTransact( - () -> { - Long revisionId = - tm().query("SELECT MAX(revisionId) FROM ClaimsList", Long.class) - .getSingleResult(); - return tm().createQueryComposer(ClaimsList.class) - .where("revisionId", EQ, revisionId) - .first(); - }) + () -> + tm().query("FROM ClaimsList ORDER BY revisionId DESC", ClaimsList.class) + .setMaxResults(1) + .getResultStream() + .findFirst()) .orElse(ClaimsList.create(START_OF_TIME, ImmutableMap.of())); }