Make ClearShare/Metadata thread-safe (BL-16479)#1529
Conversation
Concurrent access can leave internal collections in a corrupt state that causes all future functions to fail for the life of the process.
Palaso Tests 4 files ±0 4 suites ±0 10m 45s ⏱️ +47s Results for commit c10af50. ± Comparison against base commit 4840de8. This pull request skips 1 test.♻️ This comment has been updated with latest results. |
…semver:minor - Add CHANGELOG entries for the thread-safety fix and the new RunUnderTagLibLock public API. - Document why LoadProperties(ImageTag) and NormalizeOrientation deliberately do not take TagLibLock (they touch only instance-local data, not XmpTag's shared static NameTable/NamespacePrefixes). - Note the deliberate choice to hold TagLibLock across RetryUtility back-offs (keeps each operation obviously atomic). Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
|
(Claude Opus 4.8) Consulted Devin on 2026-07-10 15:35 CDT up to commit c10af50. Re-review is clean: 0 Bugs, 0 Flags. The earlier changelog Bug and the "asymmetric locking" Investigate flag are now marked Resolved; remaining items are Informational only (each a deliberate, documented design decision or pre-existing). No findings require action before human review. |
hatton
left a comment
There was a problem hiding this comment.
@hatton reviewed 3 files and all commit messages.
Reviewable status:complete! all files reviewed, all discussions resolved (waiting on JohnThomson).
Concurrent access can leave internal collections in a corrupt state that causes all future functions to fail for the life of the process.
This change is