This page is not created by, affiliated with, or supported by Slack Technologies, Inc.
2018-10-29
Channels
- # 100-days-of-code (2)
- # bangalore-clj (1)
- # beginners (141)
- # cider (33)
- # cljs-dev (13)
- # cljsjs (7)
- # cljsrn (1)
- # clojure (88)
- # clojure-conj (3)
- # clojure-dev (24)
- # clojure-italy (11)
- # clojure-nl (4)
- # clojure-russia (1)
- # clojure-sanfrancisco (1)
- # clojure-spec (4)
- # clojure-uk (53)
- # clojurescript (65)
- # core-logic (2)
- # cursive (28)
- # datomic (33)
- # duct (2)
- # emacs (3)
- # figwheel-main (9)
- # fulcro (44)
- # hoplon (6)
- # leiningen (144)
- # mount (1)
- # nrepl (21)
- # off-topic (102)
- # onyx (2)
- # other-languages (5)
- # pathom (6)
- # planck (3)
- # portkey (1)
- # re-frame (7)
- # reagent (5)
- # reitit (17)
- # shadow-cljs (24)
- # spacemacs (16)
- # tools-deps (64)
- # uncomplicate (2)
- # vim (22)
what does this error mean? what can we do to speed up the 'loading of the database'. This is when we do a first request to an ion function and are trying to open a connection.
{
"Type": "clojure.lang.ExceptionInfo",
"Message": "Loading database",
"Data": {
"CognitectAnomaliesCategory": "CognitectAnomaliesUnavailable",
"CognitectAnomaliesMessage": "Loading database"
},
"At": [
"clojure.core$ex_info",
"invokeStatic",
"core.clj",
4739
]
}
@stijn This indicates that you’ve hit a node that hasn’t yet loaded the requested database. You should only see this on ‘startup’ - are you getting the error in an ongoing system?
this is a production topology, but with the desired instance count set to 1 (staging environment, we don't want HA)
can you get the db-stats from a REPL for that database? (https://docs.datomic.com/client-api/datomic.client.api.html#var-db-stats)
Hi, I'm looking for an example of the invocation syntax for using a classpath functions within a transaction - can anyone point me at one? (or have I misunderstood what they can do?) (on-prem)
the latter needs to be created with d/function
or #db/fn
and transacted in the database
great, many thanks! out of curiosity, where did you find this? my google foo has deserted me (couldn't find it in datomic docs)
they never call out specifically the difference that one is a keyword resolving to a :db/ident entry another is a symbol resolving to a clojure function on the classpath
also the section above shows how to add to the transactor's classpath via an environment variable
Can anyone give advice on debugging a Datomic Ion CodeDeploy failure (Solo topology)? It times out on the ValidateService
step with nothing helpful showing up in the CloudWatch logs at all.
I think what's happening is that for whatever reason the app is starting really slow, so even though it's working, CodeDeploy gives up and rolls back. Is there a way to increase the timeout on that?
@jaret I'm unable to deploy to my Solo topology. CodeDeploy succeeds all the way to the ApplicationStart
event almost immediately, then hangs on ValidateService
until it times out (2 minutes). Then, at least 30 seconds later, I start seeing CloudWatch logs related to Datomic setting up the system (eg ClusterNodeCreate
, CreateSoloComponents
, and Registered solo node
), followed by logs from my app indicating successful startup. I can't hit the new version though due to the CodeDeploy rolling back.
If you’re not seeing any errors in cloudwatch, could you try a trick that I sometimes use to print the stack to console. Add a string to the end of your deploy command.
clojure -Adev -m datomic.ion.dev '{:op :deploy, :group jaret-lambda-test-compute, :uname jaret-testcommand}' <string here>
Just FYI, I've been running deploys from the Repl using a modified version of https://gist.github.com/olivergeorge/cc0ca9a945cb372d35d97e45573656ee