this bit me a few times initially. it would be very helpful to provide better error message for this situation.
datomic-pro-1.0.6202 throws ActiveMQInternalErrorException
when I try to create or connect to a Datomic DB:
clj
Clojure 1.10.1
user=> (require '[datomic.api :as d])
nil
user=> (d/connect "datomic:<dev://localhost:4334/newdb%22|dev://localhost:4334/newdb">)
Execution error at datomic.peer/get-connection$fn (peer.clj:661).
Could not find newdb in catalog
user=> (d/create-database "datomic:<dev://localhost:4334/newdb%22|dev://localhost:4334/newdb">)
Execution error (ActiveMQInternalErrorException) at org.apache.activemq.artemis.core.protocol.core.impl.ChannelImpl/sendBlocking (ChannelImpl.java:404).
null
I’ve tried with both Oracle JDK 15 and OpenJDK 15.I've re-created the behavior and logged an anomaly for us to investigate further. In general, I am updating our docs to indicate that Datomic on-prem is tested to run against LTS versions of Java (8 and 11). @petrus I agree with your assertion elsewhere that we should have a feature to detect when not on an LTS java version and throw a warning to move to one. I am looking at options for such a feature and logging a feature request for further investigation.
FWIW, datomic 1.0.6202 with Java 11 throws some jackson reflection warnings
I see you are connecting to the DB and then attempting to create the DB? Did this DB already exist or was it the product of a backup/restore? Did you recently upgrade to the new version of Datomic-pro? Or are you saying that this worked before you moved to JDK15? If so, what version were you previously running where this worked? I am going to go test with JDK 15 right now.
Full story here: https://stackoverflow.com/q/64512606/198927
Does anybody know if there's a relation between db's T value and the txInstant of an entity?
Essentially I have a database and if I do (:t db)
I get 7 as value. On the other hand, if I look for a txInstant for an entity via (def query '[:find ?tx :where [?e :person/id _ ?tx]])
I get very long number instead
What I am trying to do is "Given a certain entity ID, what was the t
that has introduced/updated it?
This would be a great question to ask on the new forum https://ask.datomic.com
Ah ok, I was not aware there was a specific forum
Just opened this week!
Forgive me for not answering on ask, but this blog may interest you: https://observablehq.com/@favila/datomic-internals
Oh sweet, let's check that out
Thanks @lennart.buit
I can't find these functions in datomic.client.api
:thinking_face:
Where are them?
You can call datomic.api
functions in your queries. Or you can at least on client + peer server
@lennart.buit Ah ok so maybe it's only executed on the peer?
Oh ok I found it, it seems like it's in com.datomic/datomic-free
And I got it working
Datomic doesn't work with jdk15, your safest bet with datomic is java 8