Fork me on GitHub
#datomic
<
2017-11-08
>
podviaznikov06:11:08

hey everyone, I had a clojure app using datomic(dynamo) deployed to aws. The app was working before but now I started getting errors like this

17-11-08 06:42:15 221c15fc989f ERROR [io.montaigne.api.server:31] - datomic connection error clojure.lang.ExceptionInfo: Error communicating with HOST 10.238.58.21 or ALT_HOST 54.190.108.228 on PORT 4334 {:alt-host "54.190.108.228", :peer-version 2, :password "EDITED, :username "EDITED", :port 4334, :host "10.238.58.21", :version "0.9.5554", :timestamp 1506450187882, :encrypt-channel true}
17-11-08 06:42:15 221c15fc989f ERROR [io.montaigne.api.server:32] - datomic connection error details Error communicating with HOST 10.238.58.21 or ALT_HOST 54.190.108.228 on PORT 4334
. I don’t think I changed anything with configuration, so not sure what is going on. My Dynamo DB instance is still running. However, it seems my transactor was restarted with new IP address. How would I fix such situation? What should I update with new IP address?

jonpither10:11:19

hi - I'm getting a 'Transactor not available error' when doing a large data import, the full stack here: https://gist.github.com/jonpither/17a90989d42569988db30d2171e5d58e. Is this recoverable on the Peer process? The transactor seems to be able to carry on with heartbeats etc.

jonpither12:11:42

I've put a retry code + exponential-backoff around the transact-async call - wondering if other's have taken this approach?

favila14:11:51

Sending many txs in a tight loop without back pressure (deref) or sending txs that are really big can both cause that

favila14:11:45

The tx may succeed, but the transactor is too overwhelmed to heartbeat

jazzytomato14:11:18

Hi, I have an entity that consists of a unique attribute (squuid), a third party id (unique identity) and a bunch of other attributes. What is the best way to upsert data based on third party id, without overriding my squiid if it already exists? i.e. I want to generate a squuid the first time but not on the subsequent updates. This seems to be a common use case so I wonder if a custom database function is reasonable

val_waeselynck15:11:48

You can definitely use a custom database function for that (and make it generic), but I would then question the usefulness of the UUID