-
Notifications
You must be signed in to change notification settings - Fork 663
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
wincfapi: database dotfiles have 'syncing' arrows #7141
Comments
Ah, the problem is that to remove the "needs syncing" icon the client needs to explicitly set an "excluded" state on the files. It does that, but it looks like the files are recreated on sync, wiping that flag again. |
The db-close operation is likely a leftover from when the SyncEngine owned its own db connection and serves no purpose anymore. Closing the db causes the removal of the temporary wal and shm files. These files are recreated when the db is opened again, which happens almost immediately. This is a problem for winvfs because the delete-recreate step wipes the exclusion state on these files just after the sync is done. That meant that the db temporaries permanently had a "needs sync" icon marker shown in the explorer. Avoiding reopening the db also reduces the number of log messages per sync.
The db-close operation is likely a leftover from when the SyncEngine owned its own db connection and serves no purpose anymore. Closing the db causes the removal of the temporary wal and shm files. These files are recreated when the db is opened again, which happens almost immediately. This is a problem for winvfs because the delete-recreate step wipes the exclusion state on these files just after the sync is done. That meant that the db temporaries permanently had a "needs sync" icon marker shown in the explorer. Avoiding reopening the db also reduces the number of log messages per sync.
"Needs syncing" icon is visible in 2.6.0alpha1 (build 11573) after restart Steps to recreate:
Actual result: The icons are shown until the client is connected to the server. Then the icons disappear. |
@HanaGemela Thanks for the test, I see the problem - my fix only addresses things after the first sync has completed. |
The previous patch ensured that the sqlite temporaries weren't deleted and recreated for every sync run, but there was still time between client startup and the first sync run where they would have the "needs-sync" icon.
With the new patch the icon does not appear or appears only very briefly even if the sync folder is paused on startup. |
The previous patch ensured that the sqlite temporaries weren't deleted and recreated for every sync run, but there was still time between client startup and the first sync run where they would have the "needs-sync" icon.
TestedTested on windows with 2.6.0daily20190429 (build 11644) |
The db-close operation is likely a leftover from when the SyncEngine owned its own db connection and serves no purpose anymore. Closing the db causes the removal of the temporary wal and shm files. These files are recreated when the db is opened again, which happens almost immediately. This is a problem for winvfs because the delete-recreate step wipes the exclusion state on these files just after the sync is done. That meant that the db temporaries permanently had a "needs sync" icon marker shown in the explorer. Avoiding reopening the db also reduces the number of log messages per sync. (cherry picked from commit 2a90090) Cherry picked as it seems likely to decrease the severety of #6877: if the database isn't closed and reopened as frequently users are less likely to run into crashes when the sqlite connection switches to wal journaling mode.
The db-close operation is likely a leftover from when the SyncEngine owned its own db connection and serves no purpose anymore. Closing the db causes the removal of the temporary wal and shm files. These files are recreated when the db is opened again, which happens almost immediately. This is a problem for winvfs because the delete-recreate step wipes the exclusion state on these files just after the sync is done. That meant that the db temporaries permanently had a "needs sync" icon marker shown in the explorer. Avoiding reopening the db also reduces the number of log messages per sync. (cherry picked from commit 2a90090) Cherry picked as it seems likely to decrease the severety of #6877: if the database isn't closed and reopened as frequently users are less likely to run into crashes when the sqlite connection switches to wal journaling mode.
tested ownCloud-2.6.0.11775.11588-daily20190411.GPO.msi with vfs enabled on win10
The client should not try to sync the database files.
The text was updated successfully, but these errors were encountered: