Source
(defmethod cache-recover ((cache standard-cache))
;; NOTE: This code assumes there's at most one partial commit
;; at any time.
(multiple-value-bind (transaction-id object-ids)
;; There's a possibility that the transaction was
;; aborted while it was writing to the commit file
;; (so before actually committing anything).
;; In that case, LOAD-OBJECTS will probably fail
;; with an error and transaction-id will be
;; nil. This is fine, because we won't need to
;; undo anything in that case anyway.
(ignore-errors (load-commit-file cache))
(when (and transaction-id object-ids)
(loop for object-id in object-ids
do (undo-object-commit cache transaction-id object-id)))))
Source Context