This page is not created by, affiliated with, or supported by Slack Technologies, Inc.
2016-02-08
Channels
- # aatree (3)
- # announcements (1)
- # architecture (5)
- # beginners (27)
- # boot (22)
- # cider (17)
- # cljsrn (8)
- # clojure (93)
- # clojure-canada (1)
- # clojure-dev (7)
- # clojure-nl (10)
- # clojure-poland (216)
- # clojure-russia (35)
- # clojurescript (163)
- # community-development (6)
- # cursive (25)
- # datavis (6)
- # datomic (18)
- # dirac (10)
- # dysphemism (4)
- # editors (3)
- # editors-rus (1)
- # emacs (15)
- # hoplon (124)
- # instaparse (25)
- # jobs (10)
- # ldnclj (78)
- # lein-figwheel (11)
- # leiningen (6)
- # off-topic (20)
- # om (149)
- # onyx (2)
- # parinfer (5)
- # portland-or (1)
- # proton (62)
- # quil (2)
- # re-frame (8)
- # spacemacs (4)
- # yada (20)
@bkamphaus: is there any way to know how much memory an index will take up?
I'm seeing
Transaction error clojure.lang.ExceptionInfo: :db.error/transactor-unavailable Transactor not available {:db/error :db.error/transactor-unavailable}
pretty regularlyit always recovers but this is a bit worrying. (This is using AWS, official AMIs with dynamo)
could this be related to GC pauses in the peer?
the GC pauses we see are only 5 seconds, though -- would that be sufficient?
not that 5 second GC pauses aren't indicative of a problem in our code
@pesterhazy also large transactions on the peer or indexing not keeping up on transactor. gc pause of just 5 seconds could possibly impact it if times poorly or in quick succession.
this peer is processing hardly any transactions
Timeout tolerance can be set by upping transactor heartbeat (Datomic level), or on peer changing datomic.peerConnectionTTLMsec to be higher (HornetQ level)
@pesterhazy: if the peer isn’t processing many transactions, and the transactor (verified from metrics or logs) is heartbeating fine and not reporting alarms, peer GC is most likely culprit. If you’re not using non-default JVM GC settings on peer app, you could adopt some similar to those on transactor if goal is to avoid pauses. Or tolerate the GC by upping one or both of the settings mentioned above.
like stu halloway says in his debugging talk, the culprit is always the GC
looking at the transactor metrics, the heartbeating looks fine
I guess there's no way around finding where those GC pauses are coming from
thanks for your help!