Skip to content
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

Fix soud intervals #8262

Merged

Conversation

jredrejo
Copy link
Member

@jredrejo jredrejo commented Aug 4, 2021

Summary

  1. Ensure SOUD sync happens at regular intervals
  2. Ensure sync is not scheduled by zeroconf is a sync has been previously scheduled
  3. Clean failed syncinc tasks and updates UserSyncStatus to avoid staled states
  4. Whenever the server accepts a sync, it will send the syncing interval so the client will use it to schedule the new syncing.

References

Closes: #8236
Fixes "Possible that sync jobs can get duplicated for the same server when the server is restarted" from https://www.notion.so/learningequality/Single-User-Syncing-Hack-Session-60-mins-bfb609b7d7de47b1af1e73b6446e3cbd

Reviewer guidance

Restart several times the server or the synced server and check everything is working fine

Testing checklist

  • Contributor has fully tested the PR manually
  • If there are any front-end changes, before/after screenshots are included
  • Critical user journeys are covered by Gherkin stories
  • Critical and brittle code paths are covered by unit tests

PR process

  • PR has the correct target branch and milestone
  • PR has 'needs review' or 'work-in-progress' label
  • If PR is ready for review, a reviewer has been added. (Don't use 'Assignees')
  • If this is an important user-facing change, PR or related issue has a 'changelog' label
  • If this includes an internal dependency change, a link to the diff is provided

Reviewer checklist

  • Automated test coverage is satisfactory
  • PR is fully functional
  • PR has been tested for accessibility regressions
  • External dependency files were updated if necessary (yarn and pip)
  • Documentation is updated
  • Contributor is in AUTHORS.md

@jredrejo jredrejo added the TODO: needs review Waiting for review label Aug 4, 2021
@jredrejo jredrejo added this to the 0.15.0 milestone Aug 4, 2021
Copy link
Member

@rtibbles rtibbles left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think adding a sync_interval argument to the sync command to both flag that we need to schedule a new sync and also how long we should wait.

kolibri/core/auth/management/commands/sync.py Outdated Show resolved Hide resolved
kolibri/utils/options.py Outdated Show resolved Hide resolved
kolibri/core/public/utils.py Outdated Show resolved Hide resolved
@rtibbles rtibbles merged commit 613cdab into learningequality:release-v0.15.x Aug 13, 2021
@jredrejo jredrejo deleted the fix_soud_intervals branch August 14, 2021 16:52
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
TODO: needs review Waiting for review
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Need to requeue for sync after a successful automatic single user sync
2 participants