Fork me on GitHub
#datomic
<
2019-12-02
>
tatut07:12:10

Any ideas why Ion lambda is throwing exception "Key must be integer" from datomic ion code (not my app code)?

tatut07:12:28

{"Msg":"IonLambdaException","Ex":{"Via":[{"Type":"java.lang.IllegalArgumentException","Message":"Key must be integer","At":["clojure.lang.APersistentVector","assoc","APersistentVector.java",347]}],"Trace":[["clojure.lang.APersistentVector","assoc","APersistentVector.java",347],["clojure.lang.APersistentVector","assoc","APersistentVector.java",18],["clojure.lang.RT","assoc","RT.java",823],["clojure.core$assoc__5401","invokeStatic","core.clj",191],["clojure.core$update","invokeStatic","core.clj",6198],["clojure.core$update","invoke","core.clj",6188],["datomic.ion.lambda.api_gateway$gateway__GT_edn","invokeStatic","api_gateway.clj",93],["datomic.ion.lambda.api_gateway$gateway__GT_edn","invoke","api_gateway.clj",87],["datomic.ion.lambda.api_gateway$edn_handler__GT_gateway_handler$fn__3198","invoke","api_gateway.clj",109],["datomic.ion.lambda.api_gateway$gateway_handler__GT_ion_handler$fn__3202","invoke","api_gateway.clj",114],["clojure.lang.Var","invoke","Var.java",384],["datomic.ion.lambda.dispatcher$fn__2154","invokeStatic","dispatcher.clj",47],["datomic.ion.lambda.dispatcher$fn__2154","invoke","dispatcher.clj",45],["clojure.lang.MultiFn","invoke","MultiFn.java",244],["datomic.ion.lambda.dispatcher$handler_fn$fn__2156","invoke","dispatcher.clj",61],["datomic.clojio$start_server$socket_loop__2356$fn__2360","invoke","clojio.clj",204],["datomic.clojio$start_server$socket_loop__2356","invoke","clojio.clj",203],["datomic.clojio$start_server$accept_loop__2363$fn__2364","invoke","clojio.clj",219],["clojure.core$binding_conveyor_fn$fn__5739","invoke","core.clj",2030],["clojure.lang.AFn","call","AFn.java",18],["java.util.concurrent.FutureTask","run","FutureTask.java",266],["java.util.concurrent.ThreadPoolExecutor","runWorker","ThreadPoolExecutor.java",1149],["java.util.concurrent.ThreadPoolExecutor$Worker","run","ThreadPoolExecutor.java",624],["java.lang.Thread","run","Thread.java",748]],"Cause":"Key must be integer"},"Type":"Event","Tid":1075,"Timestamp":1575271105341}

favila08:12:57

You are calling update on a vector using a non-integer key

tatut11:12:06

I know what the exception means, it is not coming from my code, but datomic's

tatut11:12:31

but it seems in this case it was due to trying to call the lambda with aws cli, instead of thru api gw