[yum-cvs] yum/yum depsolve.py, 1.105.2.5, 1.105.2.6 rpmsack.py, 1.32.2.2, 1.32.2.3
Seth Vidal
skvidal at linux.duke.edu
Thu Dec 21 08:01:49 UTC 2006
Update of /home/groups/yum/cvs/yum/yum
In directory login1.linux.duke.edu:/tmp/cvs-serv5210/yum
Modified Files:
Tag: yum-3_0_X
depsolve.py rpmsack.py
Log Message:
remove the ts.close() calls in rpmsack. See if it helps the rpmdb locking
problems. Add in some debug output in the depsolving so we can see how much
time is spent per dep and what kind of dep it is
Index: depsolve.py
===================================================================
RCS file: /home/groups/yum/cvs/yum/yum/depsolve.py,v
retrieving revision 1.105.2.5
retrieving revision 1.105.2.6
diff -u -r1.105.2.5 -r1.105.2.6
--- depsolve.py 19 Dec 2006 03:48:57 -0000 1.105.2.5
+++ depsolve.py 21 Dec 2006 08:01:47 -0000 1.105.2.6
@@ -28,6 +28,7 @@
from constants import *
import packages
import logginglevels
+import time
class Depsolve(object):
def __init__(self):
@@ -229,6 +230,7 @@
self.verbose_logger.debug('# of Deps = %d', len(deps))
depcount = 0
for dep in deps:
+ dep_start_time = time.time()
((name, version, release), (needname, needversion), flags, suggest, sense) = dep
depcount += 1
self.verbose_logger.log(logginglevels.DEBUG_2,
@@ -246,7 +248,11 @@
else: # wtf?
self.logger.critical('Unknown Sense: %d', sense)
continue
-
+
+ dep_end_time = time.time()
+ dep_proc_time = dep_end_time - dep_start_time
+ self.verbose_logger.log(logginglevels.DEBUG_2, 'processing dep took: %f' % dep_proc_time)
+
missingdep += missing
conflicts += conflict
CheckDeps += checkdep
Index: rpmsack.py
===================================================================
RCS file: /home/groups/yum/cvs/yum/yum/rpmsack.py,v
retrieving revision 1.32.2.2
retrieving revision 1.32.2.3
diff -u -r1.32.2.2 -r1.32.2.3
--- rpmsack.py 12 Oct 2006 17:53:26 -0000 1.32.2.2
+++ rpmsack.py 21 Dec 2006 08:01:47 -0000 1.32.2.3
@@ -46,7 +46,8 @@
def __init__(self, root='/'):
self.root = root
self._header_dict = {}
-
+ self.ts = None
+
def _get_pkglist(self):
'''Getter for the pkglist property.
Returns a list of package tuples.
@@ -57,7 +58,9 @@
pkglist = property(_get_pkglist, None)
def readOnlyTS(self):
- return initReadOnlyTransaction(root=self.root)
+ if not self.ts:
+ self.ts = initReadOnlyTransaction(root=self.root)
+ return self.ts
def buildIndexes(self):
# Not used here
@@ -84,7 +87,6 @@
if not result.has_key(pkg.pkgid):
result[pkg.pkgid] = pkg
del mi
- ts.close()
fileresults = self.searchFiles(name)
for pkg in fileresults:
@@ -104,7 +106,7 @@
if not result.has_key(pkg.pkgid):
result[pkg.pkgid] = pkg
del mi
- ts.close()
+
return result.values()
@@ -132,7 +134,6 @@
result[pkg.pkgid] = pkg
del mi
- ts.close()
return result.values()
@@ -213,8 +214,6 @@
if hdr['name'] != 'gpg-pubkey':
yield (hdr, mi.instance())
del mi
- ts.close()
- del ts
def _header_from_index(self, idx):
"""returns a package header having been given an index"""
@@ -232,8 +231,6 @@
del hdr
del mi
- ts.close()
- del ts
def _make_header_dict(self):
"""generate a header indexes dict that is pkgtup = index number"""
@@ -290,7 +287,6 @@
if hdr['name'] != 'gpg-pubkey':
yield (hdr, mi.instance())
- ts.close()
def _makePackageObject(self, hdr, index):
po = YumInstalledPackage(hdr)
More information about the Yum-cvs-commits
mailing list