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

+2 votes
ago 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.

Please log in or register to answer this question.

...