Fork me on GitHub
#datomic
<
2020-09-06
>
joshkh13:09:52

i'm having an issue with dl/import-cloud when importing a database to dev-local . i can see in the exception (excluded for brevity) that the datom value is a very lengthy string

ImportingExecution error (ExceptionInfo) at datomic.dev-local.tx/sized-fressian-bbuf (tx.clj:103).
Item too large 

    java.util.concurrent.ExecutionException: clojure.lang.ExceptionInfo: Item too large	
    at datomic.dev_local.tx$sized_fressian_bbuf.invokeStatic(tx.clj:103)
	at datomic.dev_local.tx$sized_fressian_bbuf.invoke(tx.clj:96)
	at datomic.dev_local.tx$marshal_tx$fn__17053.invoke(tx.clj:180)
	at clojure.core$mapv$fn__8445.invoke(core.clj:6912)
	at clojure.lang.PersistentVector.reduce(PersistentVector.java:343)
	at clojure.core$reduce.invokeStatic(core.clj:6827)
	at clojure.core$mapv.invokeStatic(core.clj:6903)
	at clojure.core$mapv.invoke(core.clj:6903)
	at datomic.dev_local.tx$marshal_tx.invokeStatic(tx.clj:179)
	at datomic.dev_local.tx$marshal_tx.invoke(tx.clj:176)
	at clojure.core$pmap$fn__8462$fn__8463.invoke(core.clj:7022)
	at clojure.core$binding_conveyor_fn$fn__5754.invoke(core.clj:2030)
	at clojure.lang.AFn.call(AFn.java:18)
	at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
	at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1135)
	at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635)
	at java.base/java.lang.Thread.run(Thread.java:844)

joshkh13:09:21

so it seems that strings are limited to 4096 characters, but Datomic Cloud allows for longer strings? https://forum.datomic.com/t/4096-character-string-limit/1579

stuarthalloway12:09:22

Thanks for the report! The documented limit for strings in Cloud is 4096, as you describe. The dev-local importer enforces this limit. We understand that this is a problem and are considering options.

👍 3