This page is not created by, affiliated with, or supported by Slack Technologies, Inc.
2020-07-17
Channels
- # announcements (11)
- # beginners (29)
- # calva (2)
- # clara (12)
- # cljsjs (1)
- # cljsrn (7)
- # clojure (39)
- # clojure-europe (6)
- # clojure-nl (7)
- # clojure-spec (6)
- # clojure-sweden (1)
- # clojure-uk (15)
- # clojuredesign-podcast (6)
- # code-reviews (2)
- # conjure (29)
- # cursive (3)
- # datomic (13)
- # duct (15)
- # emacs (1)
- # figwheel-main (2)
- # fulcro (7)
- # graalvm (16)
- # lambdaisland (4)
- # luminus (1)
- # meander (15)
- # observability (15)
- # off-topic (27)
- # parinfer (7)
- # pathom (2)
- # reitit (2)
- # rum (11)
- # shadow-cljs (57)
- # spacemacs (6)
- # sql (56)
- # tools-deps (36)
- # xtdb (3)
Is it possible to get information about why a transaction wasn't committed? I'm experimenting with adding transaction functions that run specs to validate entities before puts. Do rollbacks leave any trace of what happened?
Hi @UJP37GW2K we don't currently expose any means for understanding specifically why a transaction function operation failed, however you can enable logback warn
logging for crux.tx
to see the function calls and arguments provided. There is an internal atom we use for internal testing that you might be able to hook into, but it's not an official API (so will be highly likely to change without warning in future releases). We might yet add a debug
log of the same information. These are lines where the failure is handled: https://github.com/juxt/crux/blob/1b2a05fde2b701a408b8ae5f84bdb5a9270aab0f/crux-core/src/crux/tx.clj#L197-L206