[SCM] WebKit Debian packaging branch, debian/experimental, updated. upstream/1.3.3-9427-gc2be6fc

ojan at chromium.org ojan at chromium.org
Wed Dec 22 16:30:48 UTC 2010


The following commit has been merged in the debian/experimental branch:
commit 65977401c10e0ea51b2476bca276036646d9c014
Author: ojan at chromium.org <ojan at chromium.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Date:   Wed Nov 24 22:28:00 2010 +0000

    2010-11-24  Ojan Vafai  <ojan at chromium.org>
    
            Reviewed by Tony Chang.
    
            [chromium] improve memory usage for test results server and store fewer runs
            https://bugs.webkit.org/show_bug.cgi?id=50035
    
            Store fewer runs and don't pass full files around when we only need bools.
            Greatly improves error rates on test-results.appspot.com.
    
            * Scripts/webkitpy/layout_tests/layout_package/json_results_generator.py:
            * TestResultServer/handlers/testfilehandler.py:
            * TestResultServer/model/dashboardfile.py:
            * TestResultServer/model/jsonresults.py:
    
    git-svn-id: http://svn.webkit.org/repository/webkit/trunk@72699 268f45cc-cd09-0410-ab3c-d52691b4dbfc

diff --git a/WebKitTools/ChangeLog b/WebKitTools/ChangeLog
index 7a89f33..1eb7b35 100644
--- a/WebKitTools/ChangeLog
+++ b/WebKitTools/ChangeLog
@@ -1,3 +1,18 @@
+2010-11-24  Ojan Vafai  <ojan at chromium.org>
+
+        Reviewed by Tony Chang.
+
+        [chromium] improve memory usage for test results server and store fewer runs
+        https://bugs.webkit.org/show_bug.cgi?id=50035
+
+        Store fewer runs and don't pass full files around when we only need bools.
+        Greatly improves error rates on test-results.appspot.com.
+
+        * Scripts/webkitpy/layout_tests/layout_package/json_results_generator.py:
+        * TestResultServer/handlers/testfilehandler.py:
+        * TestResultServer/model/dashboardfile.py:
+        * TestResultServer/model/jsonresults.py:
+
 2010-11-24  Dirk Pranke  <dpranke at chromium.org>
 
         Reviewed by Tony Chang.
diff --git a/WebKitTools/Scripts/webkitpy/layout_tests/layout_package/json_results_generator.py b/WebKitTools/Scripts/webkitpy/layout_tests/layout_package/json_results_generator.py
index 3484fcd..331e330 100644
--- a/WebKitTools/Scripts/webkitpy/layout_tests/layout_package/json_results_generator.py
+++ b/WebKitTools/Scripts/webkitpy/layout_tests/layout_package/json_results_generator.py
@@ -80,7 +80,7 @@ class TestResult(object):
 class JSONResultsGeneratorBase(object):
     """A JSON results generator for generic tests."""
 
-    MAX_NUMBER_OF_BUILD_RESULTS_TO_LOG = 1500
+    MAX_NUMBER_OF_BUILD_RESULTS_TO_LOG = 750
     # Min time (seconds) that will be added to the JSON.
     MIN_TIME = 1
     JSON_PREFIX = "ADD_RESULTS("
diff --git a/WebKitTools/TestResultServer/handlers/testfilehandler.py b/WebKitTools/TestResultServer/handlers/testfilehandler.py
index d817890..1e31206 100644
--- a/WebKitTools/TestResultServer/handlers/testfilehandler.py
+++ b/WebKitTools/TestResultServer/handlers/testfilehandler.py
@@ -198,12 +198,12 @@ class Upload(webapp.RequestHandler):
             if ((incremental and filename == "results.json") or
                 (filename == "incremental_results.json")):
                 # Merge incremental json results.
-                saved_file = JsonResults.update(master, builder, test_type, file.value)
+                update_succeeded = JsonResults.update(master, builder, test_type, file.value)
             else:
-                saved_file = TestFile.update(
+                update_succeeded = TestFile.update(
                     master, builder, test_type, file.filename, file.value)
 
-            if not saved_file:
+            if not update_succeeded:
                 errors.append(
                     "Upload failed, master: %s, builder: %s, test_type: %s, name: %s." %
                     (master, builder, test_type, file.filename))
diff --git a/WebKitTools/TestResultServer/model/dashboardfile.py b/WebKitTools/TestResultServer/model/dashboardfile.py
index 57d3f6f..aad6d50 100644
--- a/WebKitTools/TestResultServer/model/dashboardfile.py
+++ b/WebKitTools/TestResultServer/model/dashboardfile.py
@@ -85,14 +85,16 @@ class DashboardFile(db.Model):
     def update_file(cls, name):
         data = cls.grab_file_from_svn(name)
         if not data:
-            return None
+            return False
 
         logging.info("Got file from SVN.")
 
         files = cls.get_files(name)
         if not files:
             logging.info("No existing file, added as new file.")
-            return cls.add_file(name, data)
+            if cls.add_file(name, data):
+                return True
+            return False
 
         logging.debug("Updating existing file.")
         file = files[0]
@@ -102,7 +104,7 @@ class DashboardFile(db.Model):
 
         logging.info("Dashboard file replaced, name: %s.", name)
 
-        return file
+        return True
 
     @classmethod
     def delete_file(cls, name):
diff --git a/WebKitTools/TestResultServer/model/jsonresults.py b/WebKitTools/TestResultServer/model/jsonresults.py
index 97b277a..f5a0fde 100755
--- a/WebKitTools/TestResultServer/model/jsonresults.py
+++ b/WebKitTools/TestResultServer/model/jsonresults.py
@@ -45,7 +45,7 @@ JSON_RESULTS_PASS = "P"
 JSON_RESULTS_NO_DATA = "N"
 JSON_RESULTS_MIN_TIME = 1
 JSON_RESULTS_VERSION = 3
-JSON_RESULTS_MAX_BUILDS = 1500
+JSON_RESULTS_MAX_BUILDS = 750
 JSON_RESULTS_MAX_BUILDS_SMALL = 200
 
 
@@ -406,12 +406,10 @@ class JsonResults(object):
             Large TestFile object if update succeeds or
             None on failure.
         """
-        small_file = cls.update_file(master, builder, test_type, incremental, JSON_RESULTS_FILE_SMALL, JSON_RESULTS_MAX_BUILDS_SMALL)
-        large_file = cls.update_file(master, builder, test_type, incremental, JSON_RESULTS_FILE, JSON_RESULTS_MAX_BUILDS)
+        small_file_updated = cls.update_file(master, builder, test_type, incremental, JSON_RESULTS_FILE_SMALL, JSON_RESULTS_MAX_BUILDS_SMALL)
+        large_file_updated = cls.update_file(master, builder, test_type, incremental, JSON_RESULTS_FILE, JSON_RESULTS_MAX_BUILDS)
 
-        if small_file and large_file:
-            return large_file
-        return None
+        return small_file_updated and large_file_updated
 
     @classmethod
     def update_file(cls, master, builder, test_type, incremental, filename, num_runs):
@@ -433,9 +431,9 @@ class JsonResults(object):
             logging.info(
                 "Update failed, master: %s, builder: %s, test_type: %s, name: %s." %
                 (master, builder, test_type, filename))
-            return None
+            return False
 
-        return file
+        return True
 
     @classmethod
     def get_test_list(cls, builder, json_file_data):

-- 
WebKit Debian packaging



More information about the Pkg-webkit-commits mailing list