being able to reproduce mismatch checksum

This commit is contained in:
Tienson Qin
2026-04-07 14:32:30 +08:00
parent 66c0fbb50f
commit 8c3d8ecae4
5 changed files with 647 additions and 208 deletions

View File

@@ -8,6 +8,7 @@
[frontend.worker.sync.auth :as sync-auth]
[frontend.worker.sync.client-op :as client-op]
[frontend.worker.sync.crypt :as sync-crypt]
[frontend.worker.sync.log-and-state :as sync-log-state]
[frontend.worker.sync.presence :as sync-presence]
[frontend.worker.sync.transport :as sync-transport]
[lambdaisland.glogi :as log]
@@ -127,16 +128,17 @@
(checksum-compare-ready? repo client local-tx remote-tx))
(let [local-checksum (local-sync-checksum repo)]
(when-not (= local-checksum remote-checksum)
(when worker-util/dev?
(log/warn :db-sync/checksum-mismatch
(merge context
{:type :db-sync/checksum-mismatch
:repo repo
:message-type (:type context)
:local-tx local-tx
:remote-tx remote-tx
:local-checksum local-checksum
:remote-checksum remote-checksum})))))))
(let [mismatch-data (merge context
{:type :db-sync/checksum-mismatch
:repo repo
:message-type (:type context)
:local-tx local-tx
:remote-tx remote-tx
:local-checksum local-checksum
:remote-checksum remote-checksum})]
(sync-log-state/rtc-log :rtc.log/checksum-mismatch mismatch-data)
(when worker-util/dev?
(log/warn :db-sync/checksum-mismatch mismatch-data)))))))
(defn- handle-tx-reject!
[repo client message local-tx]

View File

@@ -15,6 +15,7 @@
(defkeywords
:rtc.log/upload {:doc "rtc log type for upload-graph."}
:rtc.log/download {:doc "rtc log type for upload-graph."}
:rtc.log/checksum-mismatch {:doc "local/remote checksum mismatch detected"}
:rtc.asset.log/upload-assets {:doc "upload local assets to remote"}
:rtc.asset.log/download-assets {:doc "download assets from remote"}
:rtc.asset.log/remove-assets {:doc "remove remote assets"}