Merge ~cjwatson/launchpad:ifp-logging into launchpad:master

Proposed by Colin Watson
Status: Merged
Approved by: Colin Watson
Approved revision: 0f69e8ce208f681f28633843b1f68a66619a8367
Merge reported by: Otto Co-Pilot
Merged at revision: not available
Proposed branch: ~cjwatson/launchpad:ifp-logging
Merge into: launchpad:master
Diff against target: 76 lines (+9/-0)
1 file modified
lib/lp/soyuz/scripts/initialize_distroseries.py (+9/-0)
Reviewer Review Type Date Requested Status
William Grant code Approve
Review via email: mp+373694@code.launchpad.net

Commit message

Add a bit more logging to InitializeDistroSeries

This job takes quite a long time with no feedback. Even though we only
run it every six months, it'd be nice to have a little more of an idea
of how far it's got and where the slow parts are.

To post a comment you must log in.
Revision history for this message
William Grant (wgrant) :
review: Approve (code)

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
diff --git a/lib/lp/soyuz/scripts/initialize_distroseries.py b/lib/lp/soyuz/scripts/initialize_distroseries.py
index 9d8a64b..6a9753e 100644
--- a/lib/lp/soyuz/scripts/initialize_distroseries.py
+++ b/lib/lp/soyuz/scripts/initialize_distroseries.py
@@ -24,6 +24,7 @@ from lp.services.database import bulk
24from lp.services.database.interfaces import IMasterStore24from lp.services.database.interfaces import IMasterStore
25from lp.services.database.sqlbase import sqlvalues25from lp.services.database.sqlbase import sqlvalues
26from lp.services.helpers import ensure_unicode26from lp.services.helpers import ensure_unicode
27from lp.services.scripts import log
27from lp.soyuz.adapters.packagelocation import PackageLocation28from lp.soyuz.adapters.packagelocation import PackageLocation
28from lp.soyuz.enums import (29from lp.soyuz.enums import (
29 ArchivePurpose,30 ArchivePurpose,
@@ -296,6 +297,7 @@ class InitializeDistroSeries:
296 transaction.commit()297 transaction.commit()
297298
298 def _set_parents(self):299 def _set_parents(self):
300 log.info("Setting distroseries parents.")
299 count = 0301 count = 0
300 for parent in self.parents:302 for parent in self.parents:
301 dsp_set = getUtility(IDistroSeriesParentSet)303 dsp_set = getUtility(IDistroSeriesParentSet)
@@ -332,6 +334,7 @@ class InitializeDistroSeries:
332 return set(previous_series_parents) == set(self.parents)334 return set(previous_series_parents) == set(self.parents)
333335
334 def _create_dsds(self):336 def _create_dsds(self):
337 log.info("Creating DistroSeriesDifferences.")
335 if not self.first_derivation:338 if not self.first_derivation:
336 if (self._has_same_parents_as_previous_series() and339 if (self._has_same_parents_as_previous_series() and
337 self.packagesets_ids is None):340 self.packagesets_ids is None):
@@ -373,6 +376,7 @@ class InitializeDistroSeries:
373 job_source.massCreateForSeries(self.distroseries)376 job_source.massCreateForSeries(self.distroseries)
374377
375 def _copy_configuration(self):378 def _copy_configuration(self):
379 log.info("Copying distroseries configuration from parents.")
376 self.distroseries.backports_not_automatic = any(380 self.distroseries.backports_not_automatic = any(
377 parent.backports_not_automatic381 parent.backports_not_automatic
378 for parent in self.derivation_parents)382 for parent in self.derivation_parents)
@@ -392,6 +396,7 @@ class InitializeDistroSeries:
392 for parent in self.derivation_parents)396 for parent in self.derivation_parents)
393397
394 def _copy_architectures(self):398 def _copy_architectures(self):
399 log.info("Copying distroarchseries from parents.")
395 das_filter = ' AND distroseries IN %s ' % (400 das_filter = ' AND distroseries IN %s ' % (
396 sqlvalues([p.id for p in self.derivation_parents]))401 sqlvalues([p.id for p in self.derivation_parents]))
397 if self.arches:402 if self.arches:
@@ -408,6 +413,7 @@ class InitializeDistroSeries:
408 self._store.flush()413 self._store.flush()
409414
410 def _set_nominatedarchindep(self):415 def _set_nominatedarchindep(self):
416 log.info("Setting nominated arch-indep configuration.")
411 if self.archindep_archtag is None:417 if self.archindep_archtag is None:
412 # Select the arch-indep builder from the intersection between418 # Select the arch-indep builder from the intersection between
413 # the selected architectures and the list of the parent's419 # the selected architectures and the list of the parent's
@@ -433,6 +439,7 @@ class InitializeDistroSeries:
433439
434 def _copy_packages(self):440 def _copy_packages(self):
435 # Perform the copies441 # Perform the copies
442 log.info("Copying packages from parents.")
436 self._copy_component_section_and_format_selections()443 self._copy_component_section_and_format_selections()
437444
438 # Prepare the lists of distroarchseries for which binary packages445 # Prepare the lists of distroarchseries for which binary packages
@@ -689,6 +696,7 @@ class InitializeDistroSeries:
689696
690 def _copy_packagesets(self):697 def _copy_packagesets(self):
691 """Copy packagesets from the parent distroseries."""698 """Copy packagesets from the parent distroseries."""
699 log.info("Copying packagesets from parents.")
692 packagesets = self._store.find(700 packagesets = self._store.find(
693 Packageset,701 Packageset,
694 Packageset.distroseries_id.is_in(self.derivation_parent_ids))702 Packageset.distroseries_id.is_in(self.derivation_parent_ids))
@@ -763,6 +771,7 @@ class InitializeDistroSeries:
763771
764 def _copy_pocket_permissions(self):772 def _copy_pocket_permissions(self):
765 """Copy per-distroseries/pocket permissions from the parent series."""773 """Copy per-distroseries/pocket permissions from the parent series."""
774 log.info("Copying permissions from parents.")
766 for parent in self.derivation_parents:775 for parent in self.derivation_parents:
767 if self.distroseries.distribution == parent.distribution:776 if self.distroseries.distribution == parent.distribution:
768 self._store.execute("""777 self._store.execute("""

Subscribers

People subscribed via source and target branches

to status/vote changes: