contract update job may overload the contracts server
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
ubuntu-advantage-tools (Ubuntu) |
Fix Released
|
Undecided
|
Unassigned | ||
Xenial |
Fix Released
|
Undecided
|
Unassigned | ||
Bionic |
Fix Released
|
Undecided
|
Unassigned | ||
Focal |
Fix Released
|
Undecided
|
Unassigned | ||
Jammy |
Fix Released
|
Undecided
|
Unassigned | ||
Kinetic |
Fix Released
|
Undecided
|
Unassigned |
Bug Description
[ Impact ]
The Pro Client executes a background job to update the local contract information. However, too many executions of this job may lead to load issues in the contracts server side.
To mitigate issues, it is better to disable the execution of the job until a better scheme is defined.
[ Test Plan ]
On an attached pro machine:
- run the timer jobs
- verify that the update_
- apply the patch
- erase timer job history
- run the timer jobs
- verify that the update_
[ Where problems could occur ]
If we fail to disable the job, the issue with the server load will happen anyway.
Users will not be automatically notified of contract changes, and this may lead to confusion - the team considers this a minor problem compared to overwhelming the server - see the section below.
[ Other Info ]
Disabling the job will stop the automatic checks of contract information. If a user has any local outdated information, they will need to run `pro refresh` manually to get the most up-to-date data. Without the job, they will not be notified that the contract changed - this is the way the client used to work before the automatic verification was implemented, and should not be a major concern.
The Pro Client team will design and implement a better way of updating this information for the next release.
Related branches
- Athos Ribeiro (community): Approve
- Canonical Server Core Reviewers: Pending requested
-
Diff: 78 lines (+13/-9)5 files modifieddebian/changelog (+8/-0)
lib/timer.py (+0/-6)
uaclient/entitlements/livepatch.py (+3/-1)
uaclient/tests/test_ua_timer.py (+1/-1)
uaclient/version.py (+1/-1)
This bug was fixed in the package ubuntu- advantage- tools - 27.14.4
--------------- advantage- tools (27.14.4) lunar; urgency=medium
ubuntu-
* timer: disable update_ contract_ info job (LP: #2015302)
* livepatch: prevent livepatch from auto-enabling and subsequently failing
on non-amd64 systems (LP: #2015241)
-- Renan Rodrigo <email address hidden> Tue, 04 Apr 2023 17:56:07 -0300