diff --git a/java/google/registry/bigquery/BigqueryConnection.java b/java/google/registry/bigquery/BigqueryConnection.java
index e19b1829d..38ef5e9ef 100644
--- a/java/google/registry/bigquery/BigqueryConnection.java
+++ b/java/google/registry/bigquery/BigqueryConnection.java
@@ -466,6 +466,25 @@ public class BigqueryConnection implements AutoCloseable {
directExecutor());
}
+ /**
+ * Returns the result of calling queryToLocalTable, but synchronously to avoid spawning new
+ * background threads, which App Engine doesn't support.
+ *
+ * @see
+ * App Engine Runtime
+ *
+ *
Returns the results of the query in an ImmutableTable on success.
+ */
+ public ImmutableTable queryToLocalTableSync(String querySql)
+ throws Exception {
+ Job job = new Job()
+ .setConfiguration(new JobConfiguration()
+ .setQuery(new JobConfigurationQuery()
+ .setQuery(querySql)
+ .setDefaultDataset(getDataset())));
+ return getQueryResults(runJob(job));
+ }
+
/**
* Returns the query results for the given job as an ImmutableTable, row-keyed by row number
* (indexed from 1), column-keyed by the TableFieldSchema for that field, and with the value
@@ -590,7 +609,7 @@ public class BigqueryConnection implements AutoCloseable {
}
/**
- * Lanuch a job, wait for it to complete, but do not check for errors.
+ * Launch a job, wait for it to complete, but do not check for errors.
*
* @throws BigqueryJobFailureException
*/
@@ -599,7 +618,7 @@ public class BigqueryConnection implements AutoCloseable {
}
/**
- * Lanuch a job, but do not wait for it to complete.
+ * Launch a job, but do not wait for it to complete.
*
* @throws BigqueryJobFailureException
*/
diff --git a/java/google/registry/env/common/backend/WEB-INF/web.xml b/java/google/registry/env/common/backend/WEB-INF/web.xml
index 716ab146c..d976425d5 100644
--- a/java/google/registry/env/common/backend/WEB-INF/web.xml
+++ b/java/google/registry/env/common/backend/WEB-INF/web.xml
@@ -57,6 +57,17 @@
/_dr/task/brdaCopy
+
+
+ backend-servlet
+ /_dr/task/icannReportingStaging
+
+