Welcome! Please see the About page for a little more info on how this works.

+2 votes
in dev-tools by

Environment

  • com.datomic/dev-local {:mvn/version "1.0.243"}
  • com.datomic/client-cloud {:mvn/version "1.0.122"}

History

First setup a new DB in a cloud system.

(def db-name "kwill-test3")
(d/create-database client {:db-name db-name})
(def conn (d/connect client {:db-name db-name}))
(d/transact conn {:tx-data [{:db/ident       :uri/full-uri
                             :db/valueType   :db.type/uri
                             :db/cardinality :db.cardinality/one}]})
(d/transact conn {:tx-data [{:uri/full-uri (java.net.URI. "https://h.readthedocs.io/en/latest/api-reference/")}]})

Attempt to run dl/import-cloud.

(dl/import-cloud
  {:source (assoc client-argm :db-name db-name)
   :dest   {:system      "uri-test"
            :server-type :dev-local
            :db-name     db-name}})
Execution error (IllegalArgumentException) at org.fressian.handlers.WriteHandlerLookup/requireWriteHandler (WriteHandlerLookup.java:48).
Cannot write https://h.readthedocs.io/en/latest/api-reference/ as tag null

Expectation

Running import-cloud for any and all of the supported Datomic value types will import data to the dev-local system.

Actual

Running import-cloud on a cloud database that contains a URI fails with an IllegalArgumentException.

Evidence

The example written in "History" is always reproducible.

Impact

System that have a value for a attribute with the type :db.type/uri cannot be imported with import-cloud.

1 Answer

+1 vote
by

Hi Kenny,

Thanks for the report. We have a story to address this issue (we should support all types) and I'll circle back to update here when we address or have a timeline. I suspect you could work around this problem using strings for URIs however, I recognize that misses the point of supporting all types.

Thanks,
Jaret

by
This problem just bit me with the very very fresh `com.datomic/local` version `1.0.267`.
by
I must be hard-headed as I just got bit by this _again_ almost a year later.

Is there a solution coming?
by
Sorry Chris! We ran into some issues with the latest local release.  But the fix for this is included in the next release.  I will work tomorrow with the team to make sure we can cut a local release after we merge the branch with these fixes.
by
Thanks, Jaret!  I heard the good news from ghadi in Clojurians slack just a moment ago.  Please don't tell anybody that I was scatterbrained enough to ask the question twice!
by
Chris, we just released local 1.0.277 with a fix! https://forum.datomic.com/t/datomic-local-1-0-277-now-available/2378
by
Sweet!  Going to check it out now.
...