datomic

Ask questions on the official Q&A site at https://ask.datomic.com!
tatut 2020-12-01T13:02:23.029700Z

I have a datomic cloud dev env with solo topology I’d like to upgrade to production (to use HTTP direct), can I just delete the old compute stack and create a new one?

jaret 2020-12-01T15:34:07.030700Z

@tatut HTTP direct requires a production topology, but you can upgrade the solo to production topology by updating the solo compute stack https://docs.datomic.com/cloud/operation/howto.html#convert-solo-to-production

jaret 2020-12-01T15:35:02.031200Z

note you cannot convert back to solo once you move to production as that is unsupported.

jaret 2020-12-01T15:36:00.032Z

and you can technically delete solo compute and relaunch prod compute against the same storage system, but upgrade is our documented method.

prnc 2020-12-01T17:12:02.033500Z

Hi, datomic noob here, I have IONS related question and would appreciate some pointers! I’m on solo topology and would like to expose a ring handler (w/ reitit) through api gateway http api lambda integration. But the router seems to be having trouble with making correct match when accessed through api gateways default endpoint (i.e. https://blahblah.execute-api.eu-west-1.amazonaws.com)

(ns nette.system.web.handler
  (:require [ring.middleware.keyword-params :refer [wrap-keyword-params]]
            [ring.util.response :as resp]
            [reitit.ring :as ring]
            [reitit.core :as r]
            [reitit.ring.middleware.parameters :as parameters]
            [datomic.ion.lambda.api-gateway :as apigw]


(defn router []
  (ring/router
   [["/" {:name ::home-page/home-page-view
          :handler  (fn [_]
                      {:status 200
                       :body "Nette: Root URL"})}]]
   {:data {:middleware [parameters/parameters-middleware
                        wrap-keyword-params]}}))

            
(defn app []
  (ring/ring-handler
   (router)
   (ring/routes
    (ring/create-resource-handler
     {:path "/"})
    (ring/create-default-handler
     {:not-found (fn [req]
                   {:status 404
                    :body "Nette: Route Not Found"})}))))

(def ion-app
  (apigw/ionize (app)))
Expecting match on “/” w/ response: Nette: Root URL actual: Nette: Route Not Found (default not found handler).

prnc 2020-12-01T17:12:51.033700Z

So it seems that something, is getting to the handler, just not what I expect ;)

kenny 2020-12-01T19:16:55.034900Z

If I know I have a large amount of Datomic writes incoming, is there a supported way to preemptively scale up DDB?

csm 2020-12-01T20:05:34.035Z

I imagine you could directly change the read/write throughput on the DynamoDB table. If it’s using autoscaling, you could increase the minimum throughput.