Hey 👋 just trying to learn datalevin, at the very beginning of the journey and clearly already I’m doing something silly here… 😉
I’m running the datalevin docker container from the docker hub.
Connecting via (def conn (d/get-conn "
Following the README, I’m trying to:
(d/transact conn
[{:name "Frege", :db/id -1, :nation "France", :aka ["foo" "fred"]}
{:name "Peirce", :db/id -2, :nation "france"}
{:name "De Morgan", :db/id -3, :nation "English"}])
...and… this just hangs 🤷
Just poking around I see that there is d/transact! which seems to work fine.
Any advice on what I might be doing wrong?Hi @huahaiy — thanks!
yes, transact! works fine and other things as well, and I do see the server logs, so I think it is running 🙂
> The default port is 8898, are you sure your changed the port?
In the docker README the example uses 8899 as the exposed port: https://github.com/huahaiy/docker-datalevin/blob/a880007e5b4605cc7fee4c51d320a6cad2ca1deb/README.md?plain=1#L12
As a matter of fact after reading the main datalevin docs I’ve tired on the default port and it didn’t work.
Starting the docker again today I notice
WARNING: The requested image's platform (linux/amd64) does not match the detected host platform (linux/arm64/v8) and no specific platform was requested
so maybe that? I ofc don’t have enough insight to know if that means it could selectively work i.e. (`transact!` works, but transact doesn’t)
If so I could maybe build the arm64 image (mac, apple silicon) image for myself?
A multiple platform docker image would be nice. PR welcome
Do you have a server running?
Effectively no one I know uses d/transact , so it's surprising to myself that it is in README. updated.
d/transact is recently changed to be a blocked version of d/transact-async. But it is probably escaped testing the client/server version of it. Let me see.
Well, we actually do have tests for this. So it's likely you hit some other error.
You probably don't have a server running at that port.
The default port is 8898, are you sure your changed the port?