Fork me on GitHub
#datomic
<
2020-10-25
>
Petrus Theron09:10:40

Hey guys, I’ve been blocked for two days trying to get Datomic to talk to any non-memory storage on my machine. Any leads on why Datomic works fine for in-memory DB, but can’t connect to my local dev transactor?

➜  datomic-debug clj
Clojure 1.10.1
user=> (require '[datomic.api :as d])
nil
user=> (d/create-database "datomic:)
true ;; in-mem works
user=> (d/create-database "datomic:)
Oct 25, 2020 9:26:42 AM org.apache.activemq.artemis.core.remoting.impl.netty.NettyConnector createConnection
ERROR: AMQ214016: Failed to create netty connection
javax.net.ssl.SSLException: handshake timed out
	at io.netty.handler.ssl.SslHandler.handshake(...)(Unknown Source)

Execution error (ActiveMQNotConnectedException) at org.apache.activemq.artemis.core.client.impl.ServerLocatorImpl/createSessionFactory (ServerLocatorImpl.java:787).
AMQ119007: Cannot connect to server(s). Tried with all available servers.
I suspect an incompatibility with my JDK and Datomic’s queuing dependency, but having tried different versions of Clojure, Datomic (Pro and Free), Netty, HornetMQ and different JDKs, I can’t figure out why I can’t connect to or create a DB with :dev storage. What am I doing wrong?

Petrus Theron09:10:23

OMG. Datomic transactor requires Java 8. Fixed by switching the transactor env to Java 1.8. https://forum.datomic.com/t/java-11-0-1-ssl-exception/734 Maybe the transactor can try to connect to itself on startup and complain if Java version is wrong? (Thanks for the tip, @kaxaw75836.) Depending on which client version of Datomic you’re running, you’ll get different error messages ranging from ActiveMQ, to SSL handshakes, to Netty errors.

Dustin Getz15:10:29

I recall this being fixed in recent versions of Datomic, i could be wrong

Petrus Theron08:10:42

Happens when running Datomic Pro 1.0.6202

Petrus Theron09:10:23
replied to a thread:Hey guys, I’ve been blocked for two days trying to get Datomic to talk to any non-memory storage on my machine. Any leads on why Datomic works fine for in-memory DB, but can’t connect to my local dev transactor? ➜ datomic-debug clj Clojure 1.10.1 user=&gt; (require '[datomic.api :as d]) nil user=&gt; (d/create-database "datomic:<mem://127.0.0.1:4334/newdb1%22|mem://127.0.0.1:4334/newdb1">) true ;; in-mem works user=&gt; (d/create-database "datomic:<dev://127.0.0.1:4334/newdb1%22|dev://127.0.0.1:4334/newdb1">) Oct 25, 2020 9:26:42 AM org.apache.activemq.artemis.core.remoting.impl.netty.NettyConnector createConnection ERROR: AMQ214016: Failed to create netty connection javax.net.ssl.SSLException: handshake timed out at io.netty.handler.ssl.SslHandler.handshake(...)(Unknown Source) Execution error (ActiveMQNotConnectedException) at org.apache.activemq.artemis.core.client.impl.ServerLocatorImpl/createSessionFactory (ServerLocatorImpl.java:787). AMQ119007: Cannot connect to server(s). Tried with all available servers. I suspect an incompatibility with my JDK and Datomic’s queuing dependency, but having tried different versions of Clojure, Datomic (Pro and Free), Netty, HornetMQ and different JDKs, I can’t figure out why I can’t connect to or create a DB with :dev storage. What am I doing wrong?

OMG. Datomic transactor requires Java 8. Fixed by switching the transactor env to Java 1.8. https://forum.datomic.com/t/java-11-0-1-ssl-exception/734 Maybe the transactor can try to connect to itself on startup and complain if Java version is wrong? (Thanks for the tip, @kaxaw75836.) Depending on which client version of Datomic you’re running, you’ll get different error messages ranging from ActiveMQ, to SSL handshakes, to Netty errors.