diff --git a/core/src/main/java/google/registry/model/domain/token/AllocationToken.java b/core/src/main/java/google/registry/model/domain/token/AllocationToken.java index 40202ba92..978678e98 100644 --- a/core/src/main/java/google/registry/model/domain/token/AllocationToken.java +++ b/core/src/main/java/google/registry/model/domain/token/AllocationToken.java @@ -305,14 +305,14 @@ public class AllocationToken extends UpdateAutoTimestampEntity implements Builda new CacheLoader, Optional>() { @Override public Optional load(VKey key) { - return tm().transact(() -> tm().loadByKeyIfPresent(key)); + return tm().reTransact(() -> tm().loadByKeyIfPresent(key)); } @Override public Map, Optional> loadAll( Iterable> keys) { ImmutableSet> keySet = ImmutableSet.copyOf(keys); - return tm().transact( + return tm().reTransact( () -> keySet.stream() .collect( diff --git a/core/src/main/java/google/registry/model/registrar/Registrar.java b/core/src/main/java/google/registry/model/registrar/Registrar.java index b03893937..b326037ad 100644 --- a/core/src/main/java/google/registry/model/registrar/Registrar.java +++ b/core/src/main/java/google/registry/model/registrar/Registrar.java @@ -200,7 +200,11 @@ public class Registrar extends UpdateAutoTimestampEntity implements Buildable, J /** A caching {@link Supplier} of a registrarId to {@link Registrar} map. */ private static final Supplier> CACHE_BY_REGISTRAR_ID = - memoizeWithShortExpiration(() -> Maps.uniqueIndex(loadAll(), Registrar::getRegistrarId)); + memoizeWithShortExpiration( + () -> + Maps.uniqueIndex( + tm().reTransact(() -> tm().loadAllOf(Registrar.class)), + Registrar::getRegistrarId)); /** * Unique registrar client id. Must conform to "clIDType" as defined in RFC5730. diff --git a/core/src/main/java/google/registry/model/smd/SignedMarkRevocationListDao.java b/core/src/main/java/google/registry/model/smd/SignedMarkRevocationListDao.java index ec2533926..ed633c2e7 100644 --- a/core/src/main/java/google/registry/model/smd/SignedMarkRevocationListDao.java +++ b/core/src/main/java/google/registry/model/smd/SignedMarkRevocationListDao.java @@ -28,7 +28,7 @@ public class SignedMarkRevocationListDao { /** Loads the {@link SignedMarkRevocationList}. */ static SignedMarkRevocationList load() { Optional smdrl = - tm().transact( + tm().reTransact( () -> { Long revisionId = tm().query("SELECT MAX(revisionId) FROM SignedMarkRevocationList", Long.class) diff --git a/core/src/main/java/google/registry/model/tld/Tld.java b/core/src/main/java/google/registry/model/tld/Tld.java index e2b5cadcf..441305659 100644 --- a/core/src/main/java/google/registry/model/tld/Tld.java +++ b/core/src/main/java/google/registry/model/tld/Tld.java @@ -233,7 +233,8 @@ public class Tld extends ImmutableObject implements Buildable, UnsafeSerializabl new CacheLoader() { @Override public Tld load(final String tld) { - return tm().transact(() -> tm().loadByKeyIfPresent(createVKey(tld))).orElse(null); + return tm().reTransact(() -> tm().loadByKeyIfPresent(createVKey(tld))) + .orElse(null); } @Override @@ -241,7 +242,7 @@ public class Tld extends ImmutableObject implements Buildable, UnsafeSerializabl ImmutableMap> keysMap = toMap(ImmutableSet.copyOf(tlds), Tld::createVKey); Map, Tld> entities = - tm().transact(() -> tm().loadByKeysIfPresent(keysMap.values())); + tm().reTransact(() -> tm().loadByKeysIfPresent(keysMap.values())); return Maps.transformEntries(keysMap, (k, v) -> entities.getOrDefault(v, null)); } }); diff --git a/core/src/main/java/google/registry/model/tld/Tlds.java b/core/src/main/java/google/registry/model/tld/Tlds.java index 4aea66fdc..d37725f6a 100644 --- a/core/src/main/java/google/registry/model/tld/Tlds.java +++ b/core/src/main/java/google/registry/model/tld/Tlds.java @@ -56,7 +56,7 @@ public final class Tlds { private static Supplier> createFreshCache() { return memoizeWithShortExpiration( () -> - tm().transact( + tm().reTransact( () -> { EntityManager entityManager = tm().getEntityManager(); Stream resultStream =