Unable to push ion since yesterday

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