Fix try catch block that was catching serialization errors.

This commit is contained in:
Alexander K. Hudek 2014-12-22 22:12:23 -05:00
parent bbb5a5a08e
commit 12de925465
3 changed files with 18 additions and 7 deletions

View file

@ -1,4 +1,4 @@
(defproject views "0.4.5"
(defproject views "0.4.6"
:description "You underestimate the power of the SQL side"
:url "https://github.com/diligenceengine/views"

View file

@ -4,7 +4,7 @@
[views.subscribed-views :refer [ISubscribedViews]]
[views.filters :refer [view-filter]]
[views.db.load :refer [initial-view]]
[views.db.util :refer [with-retry]]
[views.db.util :refer [with-retry log-exception]]
[clojure.tools.logging :refer [debug info warn error]]
[clojure.core.async :refer [thread]]
[clojure.java.jdbc :as j]))
@ -60,8 +60,12 @@
(when (seq view-sigs)
(doseq [vs view-sigs]
(thread
(let [iv (subscribe-and-compute db persistence templates vs namespace subscriber-key)]
(send-fn* send-fn subscriber-key :views.init iv)))))))
(try
(let [iv (subscribe-and-compute db persistence templates vs namespace subscriber-key)]
(send-fn* send-fn subscriber-key :views.init iv))
(catch Exception e
(error "when subscribing to" vs)
(log-exception e))))))))
(unsubscribe-views
[this msg]

View file

@ -4,7 +4,8 @@
(:require
[clojure.tools.logging :refer [debug info warn error]]
[clojure.java.jdbc :as j]
[honeysql.core :as hsql]))
[honeysql.core :as hsql]
[views.db.util :refer [safe-map log-exception serialization-error?]]))
(defn view-query
"Takes db and query-fn (compiled HoneySQL hash-map)
@ -30,5 +31,11 @@
(post-process-result-set new-view templates)
(hash-map new-view))
(catch SQLException e
(warn (.getMessage e))
(warn "Broken view sig: " (pr-str new-view)))))
(if (serialization-error? e)
(throw e)
(do
(warn "Broken view sig: " (pr-str new-view))
(log-exception e))))
(catch Exception e
(error "when computing initial-view for" new-view)
(log-exception e))))