From 9e6fbbcee91105ea8e5fa67a86b4b5d3054e32aa Mon Sep 17 00:00:00 2001 From: Luis Pabon Date: Fri, 26 Jul 2013 15:56:26 -0400 Subject: perf: Container and account performance inc * Container and accounts performance increase by removing the need to update either the object count or the container count, respectively. New hidden configuratoins added to re-enable the functionality. * object_only configuratoin removed from fs.conf and replaced with a hidden configuration. The new hidden configuration reports gratuituosly crated directories as objects, to support a compatibility behavior with previous version 1.4.8 (even though it was incorrect). BUG 988969: https://bugzilla.redhat.com/show_bug.cgi?id=988969 Change-Id: Idca20b8629ec38606ff5692fe62bc2cadabffc86 Signed-off-by: Luis Pabon Reviewed-on: http://review.gluster.org/5403 Reviewed-by: Peter Portante Tested-by: Peter Portante Reviewed-on: http://review.gluster.org/5504 --- gluster/swift/common/DiskDir.py | 21 ++++----------------- 1 file changed, 4 insertions(+), 17 deletions(-) (limited to 'gluster/swift/common/DiskDir.py') diff --git a/gluster/swift/common/DiskDir.py b/gluster/swift/common/DiskDir.py index 4c835d3..556907f 100644 --- a/gluster/swift/common/DiskDir.py +++ b/gluster/swift/common/DiskDir.py @@ -373,7 +373,7 @@ class DiskDir(DiskCommon): # test cases working for now. if e.errno != errno.ENOENT: raise - if Glusterfs.OBJECT_ONLY and metadata \ + if not Glusterfs._implicit_dir_objects and metadata \ and metadata[X_CONTENT_TYPE] == DIR_TYPE \ and not dir_is_object(metadata): continue @@ -412,16 +412,8 @@ class DiskDir(DiskCommon): reported_put_timestamp, reported_delete_timestamp, reported_object_count, and reported_bytes_used. """ - if self._dir_exists: - if not Glusterfs.OBJECT_ONLY: - # If we are not configured for object only environments, - # we should update the object counts in case they changed - # behind our back. - self._update_object_count() - else: - # FIXME: to facilitate testing, we need to update all - # the time - self._update_object_count() + if self._dir_exists and Glusterfs._container_update_object_count: + self._update_object_count() data = {'account': self.account, 'container': self.container, 'object_count': self.metadata.get( @@ -697,12 +689,7 @@ class DiskAccount(DiskCommon): delete_timestamp, container_count, object_count, bytes_used, hash, id """ - if not Glusterfs.OBJECT_ONLY: - # If we are not configured for object only environments, we should - # update the container counts in case they changed behind our back. - self._update_container_count() - else: - # FIXME: to facilitate testing, we need to update all the time + if Glusterfs._account_update_container_count: self._update_container_count() data = {'account': self.account, 'created_at': '1', -- cgit