Calibre assumes it has exclusive access to its database (at least until the database layer rewrite completes) and caches a lot of datga in memory to avoid unnecessary database re-reads. It will therefore get upset if an update is made outside its control when it is running.
I am not sure how the setup you describe is working as you imply that you have two different instances of Calibre running at the same time making changes to the database. This is not a supported configuration and would lead to changes getting lost. However, maybe I have mistunderstood what you ar actually doing?
|