mirror of
https://github.com/google/nomulus.git
synced 2025-07-06 19:23:31 +02:00
Do not enqueue update snapshot task if import fails (#578)
If the import from Datastore to BigQuery fails, there is no point enqueuing a job to update the snapshot view. Also when there's an error updating the snapshot view, log it at severe level. The HTTP exception thrown is logged at info and triggers a retry implicitly. I'm not sure if we want this behavior though. Do we want to retry upon snapshot updating failures? Unless the failurs are transient, retrying doesn't help. In our case the failure (End of time out of range in Standard SQL) is not transient.
This commit is contained in:
parent
259d2e2cdc
commit
c73d154084
2 changed files with 6 additions and 2 deletions
|
@ -73,8 +73,10 @@ public class BigqueryPollJobAction implements Runnable {
|
|||
|
||||
@Override
|
||||
public void run() {
|
||||
boolean jobOutcome =
|
||||
checkJobOutcome(); // Throws a NotModifiedException if the job hasn't completed.
|
||||
if (payload == null || payload.length == 0) {
|
||||
// If the job failed, do not enqueue the next step.
|
||||
if (!jobOutcome || payload == null || payload.length == 0) {
|
||||
return;
|
||||
}
|
||||
// If there is a payload, it's a chained task, so enqueue it.
|
||||
|
|
|
@ -17,6 +17,7 @@ package google.registry.export;
|
|||
import static com.google.appengine.api.taskqueue.QueueFactory.getQueue;
|
||||
import static com.google.common.collect.Iterables.getOnlyElement;
|
||||
import static com.google.common.truth.Truth.assertThat;
|
||||
import static google.registry.testing.TaskQueueHelper.assertNoTasksEnqueued;
|
||||
import static google.registry.testing.TaskQueueHelper.assertTasksEnqueued;
|
||||
import static google.registry.testing.TestLogHandlerUtils.assertLogMessage;
|
||||
import static java.nio.charset.StandardCharsets.UTF_8;
|
||||
|
@ -174,6 +175,7 @@ public class BigqueryPollJobActionTest {
|
|||
action.run();
|
||||
assertLogMessage(
|
||||
logHandler, SEVERE, String.format("Bigquery job failed - %s:%s", PROJECT_ID, JOB_ID));
|
||||
assertNoTasksEnqueued(CHAINED_QUEUE_NAME);
|
||||
}
|
||||
|
||||
@Test
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue