Synchronization times may get long when working with a large database containing several thousand entries. Therefore, synchronization only happens if several conditions are fulfilled:
- Edit to another field.
- Major changes have been made (pasting or deleting more than one character).
org.jabref.logic.util.CoarseChangeFilter.java checks both conditions.
Remaining changes that has not been synchronized yet are saved at closing the database rendering additional closing time. Saving is realized in
org.jabref.logic.shared.DBMSSynchronizer.java. Following methods account for synchronization modes:
pullChangessynchronizes the database unconditionally.
pullLastEntryChangessynchronizes only if there are remaining entry changes. It is invoked when closing the shared database (