Skip to content

Commit 698913e

Browse files
committed
Fix: concurrent resolution should not happen.
1 parent 3a619de commit 698913e

File tree

1 file changed

+6
-2
lines changed

1 file changed

+6
-2
lines changed

src/clj/athens/self_hosted/web/datascript.clj

+6-2
Original file line numberDiff line numberDiff line change
@@ -75,10 +75,14 @@
7575
(common-events/build-event-rejected event-id err-msg err-data)))))
7676

7777

78+
(def single-writer-guard (Object.))
79+
80+
7881
(defn default-handler
7982
[datahike _channel {:event/keys [id] :as event}]
80-
(let [txs (resolver/resolve-event-to-tx @datahike event)]
81-
(transact! datahike id txs)))
83+
(locking single-writer-guard
84+
(let [txs (resolver/resolve-event-to-tx @datahike event)]
85+
(transact! datahike id txs))))
8286

8387

8488
(defn datascript-handler

0 commit comments

Comments
 (0)