Define how to fix resumption of facility syncs to allow cancellation of sync tasks #7372
Labels
APP: Device
Re: Device App (content import/export, facility-syncing, user permissions, etc.)
DEV: backend
Python, databases, networking, filesystem...
P0 - critical
Priority: Release blocker or regression
TAG: performance
User-facing performance
TAG: tech update / debt
Change not visible to user
TODO: needs decisions
Design or specifications are necessary
Milestone
Observed behavior
Morango currently doesn't have the capability to retry sync sessions. As a result, a table which holds transferred data can grow out of hand, creating issues like #7270. We've disabled task cancellation for sync tasks for Kolibri 0.14 release to avoid exacerbating this issue.
Expected behavior
A device admin should be able resume incomplete sync sessions, whether interrupted by a network issue or user's cancellation request.
User-facing consequences
Bloated databases, depending on how many incomplete syncs and the amount of data being transferred.
References
#7270
#7313
learningequality/morango#86
learningequality/morango#59
Steps to reproduce
kolibri manage sync --facility <...> --no-push --chunk-size 75 --user <...> --password <...>
Ctrl+C
to kill it while it's pullingmorango_buffers
table will also not be empty (it usually is after successful syncs)Context
Kolibri 0.14.0
The text was updated successfully, but these errors were encountered: