This page is not created by, affiliated with, or supported by Slack Technologies, Inc.
2022-03-26
Channels
- # announcements (6)
- # babashka (29)
- # babashka-sci-dev (2)
- # beginners (129)
- # calva (9)
- # clara (16)
- # cljdoc (49)
- # clojure (125)
- # clojure-bay-area (3)
- # clojure-europe (55)
- # clojure-france (1)
- # clojuredesign-podcast (8)
- # clojurescript (85)
- # conjure (3)
- # core-logic (2)
- # cursive (1)
- # events (1)
- # honeysql (61)
- # jobs-discuss (23)
- # lsp (69)
- # malli (14)
- # nrepl (3)
- # off-topic (16)
- # portal (11)
- # re-frame (8)
- # releases (1)
- # ring (2)
- # shadow-cljs (12)
- # vim (42)
- # xtdb (18)
I’d like to use XTDB for a real analysis project on an M1 MBP, and realizing that absence of M1 RocksDB may cause some headaches. Before I switch JVMs for this project, I wanted to try exploring using Xodus one more time. When I use Xodus 1.1.0, I get the following error when starting the JVM REPL:
clojure.lang.ExceptionInfo: Conflicting data-reader mapping {:url #object[java.net.URL 0x62fad19 "jar:file:/Users/genekim/.m2/repository/juxt/crux-core/20.09-1.12.0-beta/crux-core-20.09-1.12.0-beta.jar!/data_readers.clj"], :conflict crux/id, :mappings {datascript/Datom #'datascript.db/datom-from-reader, datascript/DB #'datascript.db/db-from-reader, crux/id #'xtdb.codec/id-edn-reader, xtdb/id #'xtdb.codec/id-edn-reader, crux/base64 #'xtdb.codec/base64-reader, xtdb/base64 #'xtdb.codec/base64-reader}}
Is there an easy fix for this? (I’m resisting urge to blindly hack away with deps overrides. 🙂
Thank you!@U11SJ6Q0K I notice you mentioned you got Xodus working — any chance you can share how you did this? Thx! https://clojurians.slack.com/archives/CG3AM2F7V/p1629715955179600?thread_ts=1629713348.178600&cid=CG3AM2F7V
(Okay, I’ve just forked crux-xodus, and am changing deps from crux
to xtdb
…. REPL is loading now. Let’s see how far I get! 🙂
Holy cow, I got Xodus KV store running on M1 Mac. https://github.com/realgenekim/crux-xodus So here’s a way to run XTDB on M1 without using Rosetta JVM! (I didn’t update the version in the POM or anything, mostly because I don’t know what I’m doing.)

Fwiw you can use rocks db on m1, though evict currently doesn’t work properly (should be fixed by the time rocks is offficially updated though) see here for instructions on how to get it to work (its pretty straightforward, but the compile step can take a while, even on an m1 🙂 ) https://github.com/xtdb/xtdb/issues/1518#issuecomment-1051775671
This is good news for us too - we had some problems with LMDB and definitely folks here use M1 for development...thanks for your work, I'll propose it internally
In related news, the RocksJava release with M1-compatibility finally landed maven a day or two ago, so we'll get an official solution out for Mac users very soon 🙂
Good news! 1.21.0-beta2
is now available, including native ARM RocksDB support for M1 Mac users and the ability to import tx-times. I appended to the previous beta1 release notes here: https://discuss.xtdb.com/t/ann-1-21-0-beta2s-out/77
/cc @avocade @henrik @genekim @richiardiandrea - anecdotal performance comparisons would be welcome(!)
Beautiful and precise graphs... also welcome. 😉
Fantastic news, @U899JBRPF! I’ll give it a shot in the next week or two — thanks for the heads up!!
Here's my anecdotal performance comparison: Wroom!
This applies to 1.20
with an extra org.rocksdb/rocksdbjni {:mvn/version "6.29.4.1"}
dep applied. For beta2, I get,
Index version on disk: 18 does not match index version of code: 20
Cool!
> For beta2, I get Index version on disk: 18 does not match index version of code: 20
Wipe the index-store directory and let it rebuild https://docs.xtdb.com/administration/1.20.0/configuring/#_index_rebuilding
Holy cow, I got Xodus KV store running on M1 Mac. https://github.com/realgenekim/crux-xodus So here’s a way to run XTDB on M1 without using Rosetta JVM! (I didn’t update the version in the POM or anything, mostly because I don’t know what I’m doing.)

Hey @UHZPYLPU1 - the exact answer is always subject to change, but you can get a feel for the indices by looking here: https://github.com/xtdb/xtdb/blob/2f9f07c51d9fc04f7cf4edfbf7a859189a2b2b14/core/src/xtdb/codec.clj#L37-L56 (and studying the relevant PRs)
Yes that's a fair way of describing the relationship, however the exact ratios greatly depend on the specific data set (width and size of documents) and workload (number of aborted transactions, lots of identical/similar documents)
Good news! 1.21.0-beta2
is now available, including native ARM RocksDB support for M1 Mac users and the ability to import tx-times. I appended to the previous beta1 release notes here: https://discuss.xtdb.com/t/ann-1-21-0-beta2s-out/77
/cc @avocade @henrik @genekim @richiardiandrea - anecdotal performance comparisons would be welcome(!)