Welcome! Please see the About page for a little more info on how this works.

+2 votes
in Peer API by

Starting from a simple setup:

{:deps {com.datomic/peer       {:mvn/version "1.0.7491"}
        org.slf4j/slf4j-simple {:mvn/version "2.0.17"}}}

And trying to connect into a dynamodb connection, it fails with a "s3" error:

user=> (require '[datomic.api :as d])
nil
user=> (d/connect "datomic:ddb://us-east-1/prd/db")
[main] INFO datomic.process-monitor - {:event :metrics/initializing, :metricsCallback clojure.core/identity, :phase :begin, :pid 311, :tid 3}
[main] INFO datomic.process-monitor - {:event :metrics/initializing, :metricsCallback clojure.core/identity, :msec 0.696, :phase :end, :pid 311, :tid 3}
[main] INFO datomic.process-monitor - {:metrics/started clojure.core/identity, :pid 311, :tid 3}
[clojure-agent-send-off-pool-0] INFO datomic.domain - {:event :cache/create, :cache-bytes 502267904, :pid 311, :tid 25}
[clojure-agent-send-off-pool-0] INFO datomic.process-monitor - {:AvailableMB 895.0, :ObjectCacheCount 0, :event :metrics, :pid 311, :tid 25}
Execution error (ClassNotFoundException) at jdk.internal.loader.BuiltinClassLoader/loadClass (BuiltinClassLoader.java:580).
com.amazonaws.services.s3.model.MultiObjectDeleteException

From this error message, it is pretty hard to find that datomic actually requires an extra dynamodb dependency to work.

https://docs.datomic.com/operation/storage.html#dynamodb-aws-peer-dependency

Possible fixes:

  • A better error message
  • Adding this error message to datomic docs, as a "common errors" - do google will be able to find.

1 Answer

0 votes
ago by

We have captured the concern and are evaluating how to point folks in the right direction either via an improved error message, better documentation. Will circle back and update here once we have a solution.

...