diff --git a/src/metabase/driver/bigquery.clj b/src/metabase/driver/bigquery.clj
index f335df90a3185a571ca1a1bf96087351df07c140..47b75913d44e7abb71beac9291d6d7a46eea3b54 100644
--- a/src/metabase/driver/bigquery.clj
+++ b/src/metabase/driver/bigquery.clj
@@ -176,13 +176,13 @@
 
 (defn- post-process-native
   ([^QueryResponse response]
-   (post-process-native response 15))
+   (post-process-native response 20))
   ([^QueryResponse response, ^Integer timeout-seconds]
    (if-not (.getJobComplete response)
      ;; 99% of the time by the time this is called `.getJobComplete` will return `true`. On the off chance it doesn't, wait a few seconds for the job to finish.
      (do
        (when (zero? timeout-seconds)
-         (throw (ex-info query-timeout-error-message response)))
+         (throw (ex-info query-timeout-error-message (into {} response))))
        (Thread/sleep 1000)
        (post-process-native response (dec timeout-seconds)))
      ;; Otherwise the job *is* complete
diff --git a/src/metabase/routes.clj b/src/metabase/routes.clj
index 4e61559e92991ff7e68a23147e19b6545c538543..856660a268c9d5a36eba17ff7108b3210cb72c56 100644
--- a/src/metabase/routes.clj
+++ b/src/metabase/routes.clj
@@ -10,7 +10,8 @@
 
 (defn- index [_]
   (-> (if (@(resolve 'metabase.core/initialized?))
-        (stencil/render-string (slurp (io/resource "frontend_client/index.html"))
+        (stencil/render-string (slurp (or (io/resource "frontend_client/index.html")
+                                          (throw (Exception. "Cannot find './resources/frontend_client/index.html'. Did you remember to build the Metabase frontend?"))))
                                {:bootstrap_json (json/generate-string (setting/public-settings))})
         (slurp (io/resource "frontend_client/init.html")))
       resp/response