On 7/30/14, 2:32 PM, Mike McLean wrote:
On 07/29/2014 05:43 PM, Mike McLean wrote:
These changes cause the hub to use generators for some potentially large
queries internally. The point is to reduce memory usage.

In the case that a large query is returned via rpc, the marshaller has
been extended to handle generators. The marshaller will still create a
giant pile of xml, but we at least still save the memory for the
original data.

I also have some work on an iterating marshaller that will not keep the
entire xml return in memory, but that's a bit more complicated, so I'm
going to leave that for another day.

There are other cases (e.g. repo_init) where we have very large queries
internally. In these cases, this patch set will result in significant
memory savings.

A few more related changes, additional logging and a bugfix.

Also, will probably drop the chunksize patch, doesn't seem to matter
when unless the db connection has a lot of lag.

These changes are working well for me and are likely to land in git soon.

Here's a small patch to fix chain-maven, which can override a G:A:V in the tag with a build from the chain. Tested locally and it fixes the regression in chain-maven builds for me.

From 7f391b08bf04e3872c57ede21d651cfb7c4f957b Mon Sep 17 00:00:00 2001
From: Mike Bonnet <[email protected]>
Date: Thu, 31 Jul 2014 19:39:32 -0400
Subject: [PATCH] maven-chain builds can override a G:A:V from the tag with a
 previous build in the chain, update the index accordingly

---
 hub/kojihub.py | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/hub/kojihub.py b/hub/kojihub.py
index 62220cf..ed17f23 100644
--- a/hub/kojihub.py
+++ b/hub/kojihub.py
@@ -10428,8 +10428,9 @@ class HostExports(object):
                                 archive['artifact_id'], {}).setdefault(
                                     archive['version'], archive['build_id'])
                     if idx_build != archive['build_id']:
-                        logger.error("Found multiple builds for 
%(group_id)s:%(artifact_id)s:%(version)s. Current build: %(build_id)i", archive)
-                        logger.error("Indexed build id was %i", idx_build)
+                        logger.error("Overriding build for 
%(group_id)s:%(artifact_id)s:%(version)s.", archive)
+                        logger.error("Current build is %s, new build is %s.", 
idx_build, archive['build_id'])
+                        
maven_build_index[archive['group_id']][archive['artifact_id']][archive['version']]
 = archive['build_id']
 
         ignore.extend(task_deps.values())
 
-- 
1.8.2.1

--
buildsys mailing list
[email protected]
https://admin.fedoraproject.org/mailman/listinfo/buildsys

Reply via email to