1
我部署了我的Clojure應用AWS我也有Datomic的交易者(EC2)與DynamoDB當我的用戶開始使用我的應用程序的東西發生後一段時間,Datomic器交易重啓(對於某些原因),我的應用程序變得沒有響應,所以我重新啓動我的應用程序服務器(重新建立交易者連接),那麼沒有用戶數據,根本沒有數據!?Datomic刪除數據庫
我用的是相同的URI(「datomic:DDB://美東-1 /我的表/我-DB」),也是我不叫刪除-DB或一些類似的功能那。
我只打電話給d/create-database和d/connect連接到Datomic。
它發生在我的發展,但我不在乎那個時候,因爲我認爲我做了錯誤的事情或類似的東西。
如何恢復舊數據?
P.S:另外我可以看到DynamoDB表有一些像900KB的存儲大小我假設我的數據在那裏有些什麼?只有幾個用戶壽。
我Datomic版本:"0.9.5561"
這裏是我的代碼:
(defn establish-conn
[]
(try
;conf/get returns DB URI like: "datomic:ddb://us-east-1/my-table/my-db"
(d/create-database (conf/get :db-uri))
(reset! conn (d/connect (conf/get :db-uri)))
(catch Throwable t
(log/error "Could not establish db conn." t))))
我也有回收從交易者失敗/不可用等
(defn fix-if-conn-ex
;;getting exception's error message
[err-msg]
(when (any? (str/includes? err-msg %) [":db.error/connection-released"
":db.error/transactor-unavailable"])
(db/establish-conn)))
可能你的連接代碼有問題,你能向我們展示它嗎? –
@ValentinWaeselynck我用我的代碼編輯了問題。 –
我看不出有什麼問題,所以我會質疑conf/get的作用,以及如何觀察數據庫是否爲空。最後,我會確保代碼的其他部分不會干擾'conn'原子。 –