Skip to content
Snippets Groups Projects
Commit 66c60a96 authored by Cam Saül's avatar Cam Saül
Browse files

BigQuery CI fixes :unamused:

parent 646ee322
Branches
Tags
No related merge requests found
......@@ -309,7 +309,7 @@
{:pre [engine]}
(or ((keyword engine) @registered-drivers)
(let [namespce (symbol (format "metabase.driver.%s" (name engine)))]
(u/try-ignore-exceptions (require namespce))
(u/ignore-exceptions (require namespce))
((keyword engine) @registered-drivers))))
......
......@@ -40,13 +40,13 @@
This automatically retries any failed requests a single time."
[^AbstractGoogleClientRequest request]
;; automatically retry each request at least once if it fails
(try (u/auto-retry 1
(.execute request))
(catch GoogleJsonResponseException e
(let [^GoogleJsonError error (.getDetails e)]
(throw (ex-info (or (.getMessage error)
(.getStatusMessage e))
(into {} error)))))))
(u/auto-retry 1
(try (.execute request)
(catch GoogleJsonResponseException e
(let [^GoogleJsonError error (.getDetails e)]
(throw (ex-info (or (.getMessage error)
(.getStatusMessage e))
(into {} error))))))))
(defn- ^Bigquery credential->client [^GoogleCredential credential]
(.build (doto (Bigquery$Builder. http-transport json-factory credential)
......
......@@ -511,7 +511,7 @@
(last args)
[(last args)]))))
(defmacro try-ignore-exceptions
(defmacro ignore-exceptions
"Simple macro which wraps the given expression in a try/catch block and ignores the exception if caught."
[& body]
`(try ~@body (catch Throwable ~'_)))
......@@ -613,7 +613,8 @@
(if (<= num-retries 0)
(f)
(try (f)
(catch Throwable _
(catch Throwable e
(log/warn (format-color 'red "auto-retry %s: %s" f (.getMessage e)))
(do-with-auto-retries (dec num-retries) f)))))
(defmacro auto-retry
......
......@@ -111,7 +111,6 @@
:let [v (if (:korma.sql.utils/func v)
(timestamp-korma-form->GoogleDateTime v)
v)]]
#_(println "V->" v)
(.set data (name k) v))
(doto (TableDataInsertAllRequest$Rows.)
(.setJson data))))))))
......@@ -172,19 +171,23 @@
(defn- destroy-test-databases!
{:expectations-options :after-run}
[]
(println "TIME TO DESTROY:" @created-databases)
(u/pdoseq [db-name @created-databases]
(u/try-apply destroy-dataset! db-name)))
(u/ignore-exceptions
(destroy-dataset! db-name))))
(defn- create-db! [{:keys [database-name table-definitions]}]
{:pre [(seq database-name) (sequential? table-definitions)]}
(let [database-name (normalize-name-and-add-prefix database-name)]
(swap! created-databases conj database-name)
(try (destroy-dataset! database-name)
(catch Throwable _))
(create-dataset! database-name)
(u/pdoseq [tabledef table-definitions]
(load-tabledef! database-name tabledef)))
(println (u/format-color 'green "[OK]")))
(when-not (contains? @created-databases database-name)
(u/auto-retry 2
(u/ignore-exceptions
(destroy-dataset! database-name))
(create-dataset! database-name)
(u/pdoseq [tabledef table-definitions]
(load-tabledef! database-name tabledef))
(swap! created-databases conj database-name)
(println (u/format-color 'green "[OK]"))))))
;;; # ------------------------------------------------------------ IDatasetLoader ------------------------------------------------------------
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment