xtdb 2024-06-24

Using XTDBv2 on a project, and as of today, I’m seeing this error any time I compile anything with xtdb.api/q in it: No such var: xtp/open-sql-query

I thought possibly a version mismatch, so I cleared everything (including just nuking ~/.m2/repository), but it doesn’t seem to fix anything

Any ideas?

Hey @joshmiller I don't recognise that error, what snapshot version is showing in .m2?

That was the current -SNAPSHOT, but I’ve started working backwards on snapshot versions to see if I can find one that works again

So, if I use the 2024-06-18 snapshots, I see that xtp/open-sql-query error. If I go back to 2024-06-04, I see

Execution error (ClassNotFoundException) at jdk.internal.loader.BuiltinClassLoader/loadClass (BuiltinClassLoader.java:641).
reititcore0515.reitit.Trie
from the juxt.clojars_mirrors.reitit_core.v0v5v15 namespace

Looking at my .m2/repository history, the versions I had when it was working were 2024-04-02, but now if I restore that and try to build, I see

Exception in thread "main" Syntax error macroexpanding at (user.clj:1:1). ... Caused by: java.lang.IncompatibleClassChangeError: class xtdb.serde.TxKey can not implement xtdb.api.TransactionKey, because it is not an interface (xtdb.api.TransactionKey is in unnamed module of loader 'app')

Not sure what could be happening that every single version I try fails, but in a different way. That seems pretty unlikely. This is all Clojure 1.11.2 and OpenJDK 21.0.3.

Ok, I must have had some kind of odd caching issue going on. If I started up a bare repl and prompted xtp/ ..., I would see the old vars, even though hopping to the file they were coming from had the new vars. I checked out my repo into a different folder, and it works. So this isn’t an XTDB issue at all, sorry about that.

No worries at all, this JVM stuff far too often feels like it's way more confusing than it needs to be 😅 thanks for updating the thread

👍 1