Fork me on GitHub
#datomic
<
2022-06-16
>
Daniel Jomphe17:06:47

Following the upgrade to Datomic Cloud 973-9132, when pushing ions, :dependency-conflicts are reported as if the cluster ran on e.g. clojure 1.10, which is certainly false. From experience, this is a false (static) signal due to the absence of a new accompanying release of ion-dev, right? So it's safe to assume it's OK to use clojure 1.11 even though it tells me it's overwritten back to 1.10, right?

Joe Lane17:06:40

@U0514DPR7, using an older ion-dev will show 1.10 as the dep conflict. The cloud compute nodes are using Clojure 1.11.0 in the latest release.

Daniel Jomphe17:06:14

Thanks for the confirmation, Joe.

zakkor19:06:50

having trouble connecting to datomic running in docker

docker run -p 4334:4334 --rm -t datomic
Launching with Java options -server -Xms1g -Xmx1g  -Ddatomic.printConnectionInfo=true
Starting datomic:<DB-NAME>, storing data in: data ...
System started datomic:<DB-NAME>, storing data in: data
(d/create-database "datomic:") => org.h2.jdbc.JdbcSQLException: Connection is broken: "java.net.ConnectException: Connection refused (Connection refused): 0.0.0.0:4335" [90067-171]

zakkor19:06:48

If I run the container with --net host however, it works. I have no idea why. Is there any gotcha I'm missing when it comes to datomic in docker?

zakkor19:06:14

I think I've made a bit of progress, the 4335 port wasn't published. I've made sure to publish all ports using: docker run -p 4334:4334 -p 4335:4335 -p 4336:4336 --rm -t datomic Now I get this error instead:

main] WARN datomic.coordination - {:event :coord/lookup-endpoint-failed, :pid 196831, :tid 1}
java.util.concurrent.ExecutionException: org.h2.jdbc.JdbcSQLException: Remote connections to this server are not allowed, see -tcpAllowOthers [90117-171]

zakkor20:06:45

Current solution: stop using docker. what a mess

Leaf Garland20:06:17

You're almost there, the H2 server used for local dev only allows https://docs.datomic.com/on-prem/configuration/configuring-embedded-storage.html#local-dev-convenience. Follow the instructions in that page to set passwords and enable remote access.

Leaf Garland20:06:07

The reason it works with host networking is because that puts your docker container on the same host, so the default of local connections only still works.

tvaughan11:06:06

Using 0.0.0.0 as the Datomic host IP address seems suspect to me