Exception Unable to find data source

I’ve been seeing this error when trying to run queries:

Exception Unable to find data source: $__in__2 in: ($ $__in__2 $__in__3)  datomic.datalog/eval-rule/fn--7681 (datalog.clj:1445)

Interestingly, I’ve seen this remotely (with mySQL and datomic running in kube pods) but right now the remote installation is working, and I’m seeing this in my local REPL, where I’ve got the remote MySQL forwarded to the local 3306 port, and the remote Datomic forwarded to 4334 port.

Maybe coincidentally, when I run the repl locally, I can say:

lein with-profile +stage repl

and it works. But when I try to run the repl on the remote machine (where the app is currently running), I get:

REPL server launch timed out.
Error encountered performing task 'repl' with profile(s): 'base,system,user,provided,dev,stage'

Maybe just a coincidence, but I’m stymied as to where to start debugging this.

($ $__in__2 $__in__3) are your :in params in order or something like that, is one of them nil?

is one of them nil?

Probably? It’s only happening on a remote box, so I assume something in the configuration is screwed up and that’s probably resulting in a nil environment variable. But I don’t see my own code anywhere in the stack.

Crud. Everything works fine, but I REPL in to look around and I get these errors whenever I try to hit the DB. Something out-of-whack in the context somewhere.

In my case I got the error doing a d/q on a non existing key.

Was quite the brain teaser

Oh, I’m sure that’s exactly what it is. My predecessors set up a macro that creates all the entity-specific requests in their own namespaces and something happened to break whatever awareness the REPL had. (Our environments have changed radically. The code hasn’t changed but… shrug.)