[LNT] r237057 - Submitting the same rev a lot can be very slow, warn

Chris Matthews cmatthews5 at apple.com
Mon May 11 14:40:40 PDT 2015


Author: cmatthews
Date: Mon May 11 16:40:40 2015
New Revision: 237057

URL: http://llvm.org/viewvc/llvm-project?rev=237057&view=rev
Log:
Submitting the same rev a lot can be very slow, warn

Modified:
    lnt/trunk/lnt/server/db/fieldchange.py

Modified: lnt/trunk/lnt/server/db/fieldchange.py
URL: http://llvm.org/viewvc/llvm-project/lnt/trunk/lnt/server/db/fieldchange.py?rev=237057&r1=237056&r2=237057&view=diff
==============================================================================
--- lnt/trunk/lnt/server/db/fieldchange.py (original)
+++ lnt/trunk/lnt/server/db/fieldchange.py Mon May 11 16:40:40 2015
@@ -2,6 +2,7 @@
 import sqlalchemy.sql
 
 import lnt.server.reporting.analysis
+from lnt.testing.util.commands import warning
 
 def regenerate_fieldchanges_for_run(ts, run):
     """Regenerate the set of FieldChange objects for the given run.
@@ -26,6 +27,15 @@ def regenerate_fieldchanges_for_run(ts,
     
     # Load our run data for the creation of the new fieldchanges.
     runs_to_load = [r.id for r in (runs + previous_runs + next_runs)]
+
+    # When the same rev is submitted many times, the database accesses here
+    # can be huge, and it is almost always an error to have the same rev
+    # be used in so many runs.
+    run_size = len(runs_to_load)
+    if run_size > 50:
+        warning("Generating field changes for {} runs."
+                "That will be very slow.".format(run_size))
+
     runinfo = lnt.server.reporting.analysis.RunInfo(ts, runs_to_load)
         
     for field in list(ts.sample_fields):





More information about the llvm-commits mailing list