2017-09-18 5 views
1

ich meine Clojure App AWS eingesetzt und ich habe auch Datomic Transactor (EC2) mit DynamoDB wenn meine Benutzer begann nach einer Weile geschah etwas, meine App zu nutzen und Datomic Transactor neu gestartet (für einige (Grund), meine App reagierte nicht mehr, so dass ich meinen Anwendungsserver neu startete (um die Verbindung zum Transaktor wiederherzustellen), dann gab es keine Benutzerdaten, überhaupt keine Daten !?Datomic löscht Datenbanken

Ich war mit gleichem URI ("datomic: ddb: // us-east-1/my-Tisch/my-db"), auch nenne ich nicht löschen-db oder eine Funktion wie Das.

Ich rufe nur d/create-database und d/connect für die Verbindung zu Datomic.

Es passierte mir bei der Entwicklung, aber das war mir egal, weil ich dachte, ich hätte etwas falsch gemacht oder so etwas.

Wie kann ich diese alten Daten wiederherstellen?

P.S: Auch kann ich sehen, dass DynamoDB Tabelle hat einige Speichergröße wie 900KB Ich nehme an, wie meine Daten da drin? Es gab nur ein paar Benutzer tho.

Meine Datomic Version: "0.9.5561"

Hier ist mein Code:

(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)))) 

Auch habe ich diesen Code für die Wiederherstellung Verbindung von Transactor Ausfall/nicht verfügbar usw.

(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))) 
+0

Vielleicht stimmt etwas mit Ihrem Verbindungscode nicht, können Sie es uns zeigen? –

+0

@ValentinWaeselynck Ich habe die Frage mit meinem Code bearbeitet. –

+0

Ich kann nichts falsches sehen, also würde ich fragen, was conf/get tut und wie Sie beobachten, dass die Datenbank leer ist. Schließlich würde ich sicherstellen, dass keine anderen Teile des Codes das "conn" -Atom stören. –

Antwort

0

I Das Problem konnte nicht mit der neuesten Datomic-Version "0.9.5561.56" in meiner Staging-Umgebung reproduziert werden Ich nehme an, dass es damit gelöst ist.