← Back to team overview

launchpad-reviewers team mailing list archive

[Merge] lp:~jtv/launchpad/ff-780319 into lp:launchpad

 

Jeroen T. Vermeulen has proposed merging lp:~jtv/launchpad/ff-780319 into lp:launchpad.

Requested reviews:
  Launchpad code reviewers (launchpad-reviewers)
Related bugs:
  Bug #780319 in Launchpad itself: "Sync large numbers of packages asynchronously"
  https://bugs.launchpad.net/launchpad/+bug/780319

For more details, see:
https://code.launchpad.net/~jtv/launchpad/ff-780319/+merge/60731

When requesting synchronization of packages into a derived distroseries, a feature flag controls the decision of whether to synchronize synchronously in the web request, or asynchronously in a separate job.  This branch documents that flag.

I also needed to introduce a new value domain (for integers), and I documented the mysterious column of empty strings in the flag_info table based on discussion with Robert.


= Launchpad lint =

Checking for conflicts and issues in changed files.

Linting changed files:
  lib/lp/services/features/flags.py
-- 
https://code.launchpad.net/~jtv/launchpad/ff-780319/+merge/60731
Your team Launchpad code reviewers is requested to review the proposed merge of lp:~jtv/launchpad/ff-780319 into lp:launchpad.
=== modified file 'lib/lp/services/features/flags.py'
--- lib/lp/services/features/flags.py	2011-05-09 15:34:41 +0000
+++ lib/lp/services/features/flags.py	2011-05-12 06:45:56 +0000
@@ -24,10 +24,19 @@
      'Any non-empty value is true; an empty value is false.'),
     ('float',
      'The flag value is set to the given floating point number.'),
+    ('int',
+     "An integer."),
     ])
 
-# This table of flag name, value domain, and prose documentation is used to
-# generate the web-visible feature flag documentation.
+# Data for generating web-visible feature flag documentation.
+#
+# Entries for each flag are:
+# flag name, value domain, prose documentation, default behaviour.
+#
+# Value domain as in value_domain_info above.
+#
+# NOTE: "default behaviour" does not specify a default value.  It
+# merely documents the code's behaviour if no value is specified.
 flag_info = sorted([
     ('code.branchmergequeue',
      'boolean',
@@ -65,6 +74,10 @@
      'boolean',
      'Overrides config.profiling.profiling_allowed to permit profiling.',
      ''),
+    ('soyuz.derived_series.max_synchronous_syncs',
+     'int',
+     "How many package syncs may be done directly in a web request.",
+     '100'),
     ('soyuz.derived-series-ui.enabled',
      'boolean',
      'Enables derivative distributions pages.',