Fork me on GitHub
Georgiy Grigoryan12:11:53

“High Availability (HA) is a Datomic Pro feature for ensuring the availability of a Datomic transactor in the event of a single machine failure.” according to “All Datomic On-Prem licenses are perpetual and include all features…” including High Availability for Failover according to Please clarify whether HA is included with Datomic Starter. Thanks.


Yes, you can use HA with a Datomic starter license.

👍 3

With the client API, is there any equally-performant alternative to seek-datoms to find a next-v in an :aevt index? (d/seek-datoms db :aevt :known-attr some-e) . I’ve tried index-pull with :aevt, but it requires :a to be cardinality-many (?!); Query with > and <= seems to not-work quickly (which I didn’t expect: I expected either too slow or error)


Example use case: given a tx value (which may fall between actual existing tx ids), find the :db/txInstant of the same e or the nearest-next one. In this particular case you can use the log (although this seems less efficient), but I have other cases besides :db/txInstant where I do this in the peer api for performance.

jaret15:11:27 > :v must be `db.type/ref` and `:db.cardinality/many`


Is that what you meant with trying :aevt? ^


I mean I want to start matching (fuzzily) on e


peer code: (-> (d/seek-datoms db :aevt :db/txInstant tx) first :v)


how would I do that efficiently with the client api?


The error I got using dc/index-pull was `Execution error (ExceptionInfo) at datomic.client.api.async/ares (async.clj:58). :db/txInstant is not card-many, as required for :aevt`


I see now the error message was just misleading, the problem is really that it’s not a ref attr


Yeah, I think index-pull is the answer here, but that error message is something I want to look at and I am going to talk with the team to see if there is a more efficient way that doesn't have the requirements of index-pull.


I’m not sure how index-pull could be the answer, as I would need to pull the second element not the third


I would want to pull from the e in the :aevt, not the :v


(actually I don’t want to pull at all-I just want the e and v)

Carey Hay15:11:10

Hello! Our organisation has recently migrated to kubernetes using Amazon EKS. We are running the datomic transactor inside a pod in k8s and are hoping to also create a cronjob to create database backups to s3 using the standard backup commands. Has anyone done this succesfully using IAM Roles for service accounts? We are using these succesfully for other applications to negate the need to mount aws credentials files into pods, but datomic does not seem to be able to interact with the auth tokens that are created in each pod as tokens. According to the supported sdk list, an application requres the following: • Java (Version 2) — • Java — The most recent reference to the aws sdk in the change log is here:, citing "Peers and transactors now use version 1.11.82 of the AWS SDK". Depending on what sdk is used, it may or may not be supported!