diff --git a/core/src/main/java/google/registry/schema/cursor/CursorDao.java b/core/src/main/java/google/registry/schema/cursor/CursorDao.java index bd4e34279..09e86d255 100644 --- a/core/src/main/java/google/registry/schema/cursor/CursorDao.java +++ b/core/src/main/java/google/registry/schema/cursor/CursorDao.java @@ -19,6 +19,7 @@ import static com.google.common.collect.ImmutableMap.toImmutableMap; import static google.registry.model.ofy.ObjectifyService.ofy; import static google.registry.persistence.transaction.TransactionManagerFactory.jpaTm; import static google.registry.persistence.transaction.TransactionManagerFactory.tm; +import static google.registry.util.PreconditionsUtils.checkArgumentNotNull; import com.google.common.collect.ImmutableMap; import com.google.common.collect.ImmutableSet; @@ -95,11 +96,14 @@ public class CursorDao { public static void saveCursor(google.registry.model.common.Cursor cursor, String scope) { tm().transact(() -> ofy().save().entity(cursor)); CursorType type = cursor.getType(); + checkArgumentNotNull(scope, "The scope of the cursor cannot be null"); + Cursor cloudSqlCursor = Cursor.create(type, scope, cursor.getCursorTime()); try { - Cursor cloudSqlCursor = Cursor.create(type, scope, cursor.getCursorTime()); save(cloudSqlCursor); + logger.atInfo().log( + "Rolled forward CloudSQL cursor for %s to %s.", scope, cursor.getCursorTime()); } catch (Exception e) { - logger.atSevere().withCause(e).log("Error saving cursor to Cloud SQL."); + logger.atSevere().withCause(e).log("Error saving cursor to Cloud SQL: %s.", cloudSqlCursor); } } diff --git a/core/src/test/java/google/registry/schema/cursor/CursorDaoTest.java b/core/src/test/java/google/registry/schema/cursor/CursorDaoTest.java index 2e0079a21..6b9f78782 100644 --- a/core/src/test/java/google/registry/schema/cursor/CursorDaoTest.java +++ b/core/src/test/java/google/registry/schema/cursor/CursorDaoTest.java @@ -190,27 +190,6 @@ public class CursorDaoTest { assertThat(cursor).isEqualTo(dataStoreCursor); } - @Test - public void saveCursor_logsErrorWhenSaveToCloudSqlFails() { - loggerToIntercept.addHandler(logHandler); - createTld("tld"); - google.registry.model.common.Cursor cursor = - google.registry.model.common.Cursor.create( - CursorType.ICANN_UPLOAD_ACTIVITY, fakeClock.nowUtc(), Registry.get("tld")); - CursorDao.saveCursor(cursor, null); - assertAboutLogs() - .that(logHandler) - .hasLogAtLevelWithMessage(Level.SEVERE, "Error saving cursor to Cloud SQL."); - google.registry.model.common.Cursor dataStoreCursor = - ofy() - .load() - .key( - google.registry.model.common.Cursor.createKey( - CursorType.ICANN_UPLOAD_ACTIVITY, Registry.get("tld"))) - .now(); - assertThat(cursor).isEqualTo(dataStoreCursor); - } - @Test public void saveCursors_worksSuccessfully() { createTlds("tld", "foo");