Merge ~seyeongkim/maas:fixing_memory_leak_apt_get_3.3 into maas:3.3

Proposed by Seyeong Kim
Status: Merged
Approved by: Björn Tillenius
Approved revision: d3b7622ee31bf7ee59b47bfa70de30b003e9b309
Merge reported by: MAAS Lander
Merged at revision: not available
Proposed branch: ~seyeongkim/maas:fixing_memory_leak_apt_get_3.3
Merge into: maas:3.3
Diff against target: 38 lines (+17/-3)
1 file modified
src/provisioningserver/utils/deb.py (+17/-3)
Reviewer Review Type Date Requested Status
Björn Tillenius Approve
MAAS Lander Approve
Review via email: mp+463780@code.launchpad.net

Commit message

Bug #2012596: MAAS 3.2 deb package memory leak after upgrading

(cherry picked from commit d792780dbd0571fcd94e22cb7ce559d5f69aa1a0)

To post a comment you must log in.
Revision history for this message
MAAS Lander (maas-lander) wrote :

UNIT TESTS
-b fixing_memory_leak_apt_get_3.3 lp:~seyeongkim/maas/+git/maas into -b 3.3 lp:~maas-committers/maas

STATUS: SUCCESS
COMMIT: d3b7622ee31bf7ee59b47bfa70de30b003e9b309

review: Approve
Revision history for this message
Björn Tillenius (bjornt) wrote :

+1

review: Approve

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
diff --git a/src/provisioningserver/utils/deb.py b/src/provisioningserver/utils/deb.py
index 6e0656e..62e9e26 100644
--- a/src/provisioningserver/utils/deb.py
+++ b/src/provisioningserver/utils/deb.py
@@ -14,6 +14,22 @@ maaslog = get_maas_logger("deb")
1414
15MAAS_PACKAGES = ("maas-region-api", "maas-rack-controller")15MAAS_PACKAGES = ("maas-region-api", "maas-rack-controller")
1616
17APT_PKG = None
18
19
20def get_apt_pkg():
21 """Return the initalized apt_pkg."""
22 global APT_PKG
23 # Make sure that .init() is only called after initial import.
24 # init() can be slow, and cause memory leaks if called multiple
25 # times.
26 if APT_PKG is None:
27 import apt_pkg
28
29 apt_pkg.init()
30 APT_PKG = apt_pkg
31 return APT_PKG
32
1733
18@dataclasses.dataclass34@dataclasses.dataclass
19class DebVersion:35class DebVersion:
@@ -44,9 +60,7 @@ def get_deb_versions_info(apt_pkg=None) -> Optional[DebVersionsInfo]:
44 """Return versions information for Debian-based MAAS."""60 """Return versions information for Debian-based MAAS."""
4561
46 if apt_pkg is None:62 if apt_pkg is None:
47 import apt_pkg63 apt_pkg = get_apt_pkg()
48
49 apt_pkg.init()
5064
51 try:65 try:
52 cache = apt_pkg.Cache(None)66 cache = apt_pkg.Cache(None)

Subscribers

People subscribed via source and target branches