Bug 461888

Summary: Writing metadata to file fails while database sync process is running
Product: [Applications] digikam Reporter: José Oliver-Didier <jose_oliver>
Component: Maintenance-MetadataAssignee: Digikam Developers <digikam-bugs-null>
Status: RESOLVED FIXED    
Severity: normal CC: caulier.gilles
Priority: NOR    
Version First Reported In: 7.9.0   
Target Milestone: ---   
Platform: Microsoft Windows   
OS: Microsoft Windows   
Latest Commit: Version Fixed/Implemented In: 8.0.0
Sentry Crash Report:

Description José Oliver-Didier 2022-11-15 21:15:31 UTC
SUMMARY
***
Writing metadata to file fails while database sync process is running
***

SETUP:
- Lazy file operations are enabled.

STEPS TO REPRODUCE
1. Launch Digikam and from the Tools -> Maintenance dialog perform a Database Sync from Image to Database, depending on the size of the image collection this can take quite some time.
2. While the database sync process is running modify file metadata (Example: Captions, People Tags)
3. Pending metadata operations appear at the bottom, click on the bottom toolbar to save the metadata changes.

OBSERVED RESULT
- Metadata operations performed when Database Sync operation is running are not performed. No error message is presented, and the bottom toolbar seemingly appears as if the changes have been performed. The metadata changes are reflected in the database causing a mismatch between database and file metadata.

EXPECTED RESULT
- Not sure the best approach here, if the Database Sync process could be paused in order to allow the pending metadata changes to occur. Otherwise, either block metadata changes until the Database sync operation finishes or warn the user before executing the Database sync operation.

SOFTWARE/OS VERSIONS
Windows 11

ADDITIONAL INFORMATION
- In my setup I have over 250,000 photos, the Database sync process took over 12 hours to complete.
- As mentioned, I have lazy sync enabled.
Comment 1 Maik Qualmann 2022-11-15 22:15:51 UTC
Git commit e02eef0b963e9021cd1e9dc54d5e4d0ba2c9ed11 by Maik Qualmann.
Committed on 15/11/2022 at 22:14.
Pushed by mqualmann into branch 'master'.

disable lazy button when another metadata task is running
FIXED-IN: 8.0.0

M  +1    -1    NEWS
M  +37   -16   core/libs/fileactionmanager/metadatastatusbar.cpp
M  +3    -0    core/libs/fileactionmanager/metadatastatusbar.h

https://invent.kde.org/graphics/digikam/commit/e02eef0b963e9021cd1e9dc54d5e4d0ba2c9ed11