Hi, after running the deploy command, it gets stuck while downloading com.datomic/java-io:0.1.11
from the datomic-cloud repo. This is happening since yesterday, before that I had successfuly deployed many times. Any ideas?
Thanks in advance!
Hi, after running the deploy command, it gets stuck while downloading com.datomic/java-io:0.1.11
from the datomic-cloud repo. This is happening since yesterday, before that I had successfuly deployed many times. Any ideas?
Thanks in advance!
Sorry about the little context, wrote it on mobile.
My deps.edn is as follows:
{:paths ["src" "resources"]
:deps
{org.clojure/clojure {:mvn/version "1.9.0"}
com.datomic/client-cloud {:mvn/version "0.8.56"}
;; pedestal 0.5.4, component 0.3.2, transit-clj 0.8.309
}
:mvn/repos
{"datomic-cloud" {:url "s3://datomic-releases-1fc2183a/maven/releases"}}
:aliases
{:dev
{:extra-deps
{com.datomic/ion-dev {:mvn/version "0.9.175"}}}}}
And my ion-config.edn
:
{:allow [some.tx-function/foo]
:app-name "{my app}"}
Hi @Crowl it looks like you’re missing the com.datomic/ion library.
I copied your deps and added the ion lib and was able to successfully deploy:
13 {:paths ["src" "resources"]
14 :deps
15 {org.clojure/clojure {:mvn/version "1.9.0"}
16 com.datomic/client-cloud {:mvn/version "0.8.56"}
17 com.datomic/ion {:mvn/version "0.9.16"}
18 ;; pedestal 0.5.4, component 0.3.2, transit-clj 0.8.309
19 }
20 :mvn/repos
21 {"datomic-cloud" {:url "s3://datomic-releases-1fc2183a/maven/releases"}}
22 :aliases
23 {:dev
24 {:extra-deps
25 {com.datomic/ion-dev {:mvn/version "0.9.175"}}}}}
FYI: To troubleshoot a failed deployment I went to the CloudWatch Logs for my datomic-my-app-name group. There I was able to see IonLambdaDispatcherFailedtoStart
messages and see that the classpath was missing the api_gateway.clj
from the following error:
"Msg": "IonLambdaDispatcherFailedtoStart",
"Ex": {
"Cause": "Could not locate datomic/ion/lambda/api_gateway__init.class or datomic/ion/lambda/api_gateway.clj on classpath. Please check that namespaces with dashes use underscores in the Clojure file name.",
"Via": [
{
"Type": "clojure.lang.Compiler$CompilerException",
"Message": "java.io.FileNotFoundException: Could not locate datomic/ion/lambda/api_gateway__init.class or datomic/ion/lambda/api_gateway.clj on classpath. Please check that namespaces with dashes use underscores in the Clojure file name., compiling:(datomic/ion/starter.clj:1:1)",
"At": [
"clojure.lang.Compiler",
"load",
"Compiler.java",
7526
]
},........
You will also see a datomic.cluster-nodeV-main
failed exception
Hi @jaret, thank you for your response. I am not using the com.datomic/ion library since I’m just deploying transaction functions, not exposing them via lambdas. Is it still necessary to include the library?
Yes it is still necessary to include the ion library for an ion deployment.
https://docs.datomic.com/cloud/ions/ions-reference.html#requirements
https://docs.datomic.com/cloud/ions/ions-reference.html#deps-edn