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, @U011VD1RDQT.) 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.

dustingetz15: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