This page is not created by, affiliated with, or supported by Slack Technologies, Inc.
2022-05-04
Channels
- # announcements (4)
- # aws (3)
- # babashka (58)
- # beginners (59)
- # biff (6)
- # cider (3)
- # clj-kondo (48)
- # clj-on-windows (1)
- # cljdoc (1)
- # clojure (136)
- # clojure-europe (19)
- # clojure-gamedev (7)
- # clojure-germany (2)
- # clojure-nl (7)
- # clojure-norway (1)
- # clojure-portugal (1)
- # clojure-uk (4)
- # clojurescript (41)
- # community-development (2)
- # core-async (5)
- # cursive (10)
- # data-oriented-programming (1)
- # data-science (1)
- # datahike (5)
- # datomic (58)
- # docker (2)
- # emacs (13)
- # figwheel-main (19)
- # fulcro (12)
- # graalvm (9)
- # holy-lambda (41)
- # honeysql (14)
- # introduce-yourself (3)
- # jobs (4)
- # lsp (11)
- # nrepl (1)
- # off-topic (9)
- # other-languages (2)
- # pathom (22)
- # portal (5)
- # re-frame (17)
- # remote-jobs (4)
- # reveal (14)
- # shadow-cljs (1)
- # tools-build (7)
- # tools-deps (47)
- # xtdb (8)
- # yada (2)
is there any documentation about Datomic excise segments? its a metric that we are seeing in Datadog, but i cannot find any documentation about what exactly they are
That's good to know! It would simplify my life SOOO much to have the transactor in my k8s
So i was able to start the transactor in a kubernetes pod. And in my cluster, my services has a service address of datomic
. I made an alias in my transactor pod datomic = localhost
But when i go to start the db from clojure it says
starting database connection
CREATE DB
Error communicating with HOST datomic on PORT 4334
this tells me that datomic was able to connect to dynamo, it wrote its location to storage datomic
the transactor is up and running.
My kubernetes service looks like
resource "kubernetes_service" "datomic" {
metadata {
name = "datomic"
}
spec {
selector = {
App = kubernetes_deployment.react.spec.0.template.0.metadata[0].
}
port {
port = 4334
target_port = 4334
}
type = "LoadBalancer"
}
}
{:alt-host nil, :peer-version 2, :password "<redacted>", :username "<redacted>", :port 4334, :host "datomic", :version "0.9.6045", :timestamp 1651695721103, :encrypt-channel true}
[email protected]:/usr/src/app# telnet datomic 4334
Trying 172.20.247.2...
telnet: Unable to connect to remote host: Connection refused
[email protected]:/usr/src/app# telnet datomic 80
Trying 172.20.247.2...
[email protected]:/usr/src/app# java -version
openjdk version "17.0.2" 2022-01-18
OpenJDK Runtime Environment (build 17.0.2+8-86)
OpenJDK 64-Bit Server VM (build 17.0.2+8-86, mixed mode, sharing)
bash-4.3# java -version
openjdk version "1.8.0_92-internal"
OpenJDK Runtime Environment (build 1.8.0_92-internal-alpine-r1-b14)
OpenJDK 64-Bit Server VM (build 25.92-b14, mixed mode)
bash-4.3#
The version of datomic you're using was released in https://docs.datomic.com/on-prem/changes.html#0.9.6045, before JDK17 was ever released. The latest release, https://docs.datomic.com/on-prem/changes.html#1.0.6397 , added support for JDK17
[email protected]:/datomic# java -version
openjdk version "11.0.15" 2022-04-19
OpenJDK Runtime Environment 18.9 (build 11.0.15+10)
OpenJDK 64-Bit Server VM 18.9 (build 11.0.15+10, mixed mode, sharing)
now the transactor fails with
Terminating process - Serve failed
ActiveMQNotConnectedException[errorType=NOT_CONNECTED message=AMQ119007: Cannot connect to server(s). Tried with all available servers.]
at org.apache.activemq.artemis.core.client.impl.ServerLocatorImpl.createSessionFactory(ServerLocatorImpl.java:787)
at datomic.artemis_client$create_session_factory.invokeStatic(artemis_client.clj:114)
at datomic.artemis_client$create_session_factory.invoke(artemis_client.clj:104)
at datomic.update$create_master$fn__11961.invoke(update.clj:732)
at datomic.update$create_master.invokeStatic(update.clj:722)
@U0CJ19XAM do you think there could be an issue using a load balancer to reach port 4334 ?
good god... after some debugging, i realized i had been pointing my kubernetes service to the wrong kubernetes pod :man-facepalming:
so then i fired up the datomic console on 8080 and when i couldn't connect to that either i got suspiscious
and then i knew something was wrong when i couldn't connect to python -m simpeHTTPServer
stared at it for 30 mins and FML. I was pointing at a Deployment that didn't have anything running on any of those ports
I had something similar a few months ago where I lost a whole day (and some hair) because I forgot that core.async/onto-chan!! closes the channel by default and I didn't set close?
to false
.