summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGarming Sam <garming@catalyst.net.nz>2016-04-20 15:25:45 +1200
committerGarming Sam <garming@samba.org>2016-04-20 09:12:47 +0200
commit2ef0c9a8d4623d88414eaaf32cdd18c6ef17900a (patch)
treed611150e2033105785d96db7a808eb6600396b6d
parent052b8555510bf1f72c7ea777c44294264bbb67d4 (diff)
downloadsamba-2ef0c9a8d4623d88414eaaf32cdd18c6ef17900a.tar.gz
dbcheck: Avoid pathological behaviour in operational module
Because replPropertyMetadata was repeated for every object in the database, the attrs list became very long. This single line saves 20% of the time for make test TESTS=dbcheck. Signed-off-by: Garming Sam <garming@catalyst.net.nz> Reviewed-by: Andrew Bartlett <abartlet@samba.org> Autobuild-User(master): Garming Sam <garming@samba.org> Autobuild-Date(master): Wed Apr 20 09:12:47 CEST 2016 on sn-devel-144
-rw-r--r--python/samba/dbchecker.py4
1 files changed, 4 insertions, 0 deletions
diff --git a/python/samba/dbchecker.py b/python/samba/dbchecker.py
index db0803b7a91..bcefc266c02 100644
--- a/python/samba/dbchecker.py
+++ b/python/samba/dbchecker.py
@@ -1229,6 +1229,10 @@ newSuperior: %s""" % (str(from_dn), str(to_rdn), str(to_base)))
'''check one object'''
if self.verbose:
self.report("Checking object %s" % dn)
+
+ # If we modify the pass-by-reference attrs variable, then we get a
+ # replPropertyMetadata for every object that we check.
+ attrs = list(attrs)
if "dn" in map(str.lower, attrs):
attrs.append("name")
if "distinguishedname" in map(str.lower, attrs):