on-prem should work just fine in Azure. Cloud most likely won’t
ok, so we should upgrade compute groups asap
Hi 👋:skin-tone-2: Just ran into this error using Datomic Analytics on premise using datomic 1.0.6269:
Query 20210326_131630_00006_px9te failed: No matching clause: :db.type/uri
Yep
Hi @jeroen.dejong are you using the latest supported https://repo1.maven.org/maven2/io/prestosql/presto-cli/348/presto-cli-348-executable.jar I think? Or are you using another version? I want to make sure I track this so can you shoot an e-mail to <mailto:support@cognitect.com|support@cognitect.com>. I will make a case to investigate internally, but if it turns out we need to bump presto again as a type mapping changed I'd like to be able to keep you updated.
I'm using the bundled version of datomic 1.0.6269, I'll see which one that is.
presto:x> SELECT node_version FROM system.runtime.nodes;
node_version
--------------
348
So I presumably, yes the latest version.I'm using composite tuple attributes as a :db.unique/identity
for an entity, and I've noticed that I need to transact the composite attributes along with the composite tuple form to get the upsert functionality. If I don't also transact the tuple, the attributes are first associated with a new EID and then an attempt is made to assert the composite tuple, which fails because it already belongs to another entity. Is this expected?
Nevermind! I am an idiot. I forgot that URI is an unsupported type in analytics.
Aha! So this is expected behavior?
Can confirm. We run Datomic on-prem in Azure. Both peers and transactor as Azure Container Instances, with Postgresql as backend. Setup running in production since September 2020.
Don't know if this is the right place to ask, but here it goes: I'm building an API using liberator and dotamic cloud. I'm trying to do some simple stuff but I can't create a connection with my datomic db, I have previously used the same db in a Luminus project and works perfectly fine. The ns where all my datomic functions are looks like this
(ns api.db.cloud-core
(:require
[datomic.client.api :as d]
[mount.core :refer [defstate]]))
(defonce cfg {:server-type :ion
:region "region"
:system "system"
:endpoint "url"
:proxy-port 8182})
(defonce db-name {:db-name "name"})
(defstate conn
:start (as-> (d/client cfg) c
(d/connect c db-name))
:stop (-> conn .release))
...
...
There's no issue when I run lein ring server
, but when I make a request which hanndle function uses something from datomic I get the following error: java.lang.IllegalArgumentException: No implementation of method: :db of protocol: #'datomic.client.api.protocols/Connection found for class: mount.core.DerefableState
So I change (defstate conn ... )
with just (def conn (d/connect (d/client cfg) db-name))
and now I can't even start the ring server. All I get is Syntax error (ClassNotFoundException) compiling at (cognitect/http_client.clj:1:1). org.eclipse.jetty.client.HttpClient
I'm completly lost since I don't know whats causing this, apparently its a dependency conlifct but my project file looks like this:
(defproject api "0.1.0-SNAPSHOT"
:description "FIXME: write description"
:url "<http://example.com/FIXME>"
:license {:name "EPL-2.0 OR GPL-2.0-or-later WITH Classpath-exception-2.0"
:url "<https://www.eclipse.org/legal/epl-2.0/>"}
:plugins [[lein-ring "0.12.5"]]
:ring {:handler api.core/handler}
:repositories {"<http://my.datomic.com|my.datomic.com>" {:url "<https://my.datomic.com/repo>"
:creds :gpg}}
:dependencies [[org.clojure/clojure "1.10.1"]
;Database
[com.datomic/client-cloud "0.8.105"
:exclusions [org.eclipse.jetty/jetty-http
org.eclipse.jetty/jetty-util
org.eclipse.jetty/jetty-client
org.eclipse.jetty/jetty-io]]
[mount "0.1.16"]
[com.fasterxml.jackson.core/jackson-core "2.11.1"]
;Partners
[buddy/buddy-hashers "1.4.0"]
[clj-http "3.12.0"]
[danlentz/clj-uuid "0.1.9"]
;Liberator
[liberator "0.15.3"]
[compojure "1.6.2"]
[ring/ring-core "1.9.2"]
[ring/ring-json "0.5.0"]]
:repl-options {:init-ns api.core})
Any tips on what should I do to connect succesfully to my db?the error says "class not found: org.eclipse.jetty.client.HttpClient" and the deps have a bunch of exclusions around org.eclipse.jetty
porque the exclusions?
those seem implicated
I removed the exclusions but still get en error message Syntax error (ClassNotFoundException) compiling . at (cognitect/http_client.clj:92:19). org.eclipse.jetty.http.HttpCompliance
Did you lein clean
and rebuild your snapshot?