Changes posted here: https://code.engineering.redhat.com/gerrit/#/q/topic:bug-1328446
Downstream changes merged: https://code.engineering.redhat.com/gerrit/#/q/topic:bug-1328446
Verified with latest swiftclient build, there are no getxattr calls to each and every object inside container or each and every container inside Account which was the case with previous swift versions. just verified it via strace output.No extensive perf testing has been done. ps aux | grep account root 7701 0.0 0.0 103308 856 pts/1 S+ 13:11 0:00 grep account root 32697 0.0 0.1 241024 15432 ? Ss Apr26 0:00 /usr/bin/python /usr/bin/swift-account-server /etc/swift/account-server.conf root 32715 0.0 0.1 241500 13572 ? S Apr26 0:11 /usr/bin/python /usr/bin/swift-account-server /etc/swift/account-server.conf lstat("/mnt/gluster-object/test", {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0 lstat("/mnt/gluster-object/test/..", {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0 stat("/var/run/swift/db_file.db", {st_mode=S_IFREG|0644, st_size=0, ...}) = 0 stat("/mnt/gluster-object/test", {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0 getxattr("/mnt/gluster-object/test", "user.swift.metadata", 0x0, 0) = 172 getxattr("/mnt/gluster-object/test", "user.swift.metadata", "{"X-Bytes-Used":[0,0],"X-Timestamp":["1461741553.16310",0],"X-Object-Count":[0,0],"X-Type":["Account",0],"X-PUT-Timestamp":["1461741553.16310",0],"X-Container-Count":[5,0]}", 172) = 172 stat("/mnt/gluster-object/test", {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0 stat("/mnt/gluster-object/test", {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0 open("/mnt/gluster-object/test", O_RDONLY|O_NONBLOCK|O_DIRECTORY|O_CLOEXEC) = 9 getdents(9, /* 6 entries */, 32768) = 152 getdents(9, /* 0 entries */, 32768) = 0 close(9) = 0 stat("/mnt/gluster-object/test/c2", {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0 stat("/mnt/gluster-object/test/c3", {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0 stat("/mnt/gluster-object/test/c1", {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0 setxattr("/mnt/gluster-object/test", "user.swift.metadata", "{"X-Bytes-Used":[ lstat("/mnt/gluster-object/test/..", {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0 stat("/mnt/gluster-object/test/c1", {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0 getxattr("/mnt/gluster-object/test/c1", "user.swift.metadata", 0x0, 0) = 148 getxattr("/mnt/gluster-object/test/c1", "user.swift.metadata", "{"X-Object-Count":[5,0],"X-Timestamp":["1462887054.74214",0],"X-Type":["container",0],"X-PUT-Timestamp":["1462887054.77291",0],"X-Bytes-Used":[0,0]}", 148) = 148 stat("/mnt/gluster-object/test/c1", {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0 stat("/mnt/gluster-object/test/c1", {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0 open("/mnt/gluster-object/test/c1", O_RDONLY|O_NONBLOCK|O_DIRECTORY|O_CLOEXEC) = 8 getdents(8, /* 7 entries */, 32768) = 168 getdents(8, /* 0 entries */, 32768) = 0 close(8) = 0 stat("/mnt/gluster-object/test/c1/o1", {st_mode=S_IFREG|0755, st_size=11, ...}) = 0 stat("/mnt/gluster-object/test/c1/o2", {st_mode=S_IFREG|0755, st_size=11, ...}) = 0 stat("/mnt/gluster-object/test/c1/o3", {st_mode=S_IFREG|0755, st_size=11, ...}) = 0 stat("/mnt/gluster-object/test/c1/o4", {st_mode=S_IFREG|0755, st_size=11, ...}) = 0 stat("/mnt/gluster-object/test/c1/o5", {st_mode=S_IFREG|0755, st_size=11, ...}) = 0 gettimeofday({1462887445, 549926}, NULL) = 0
Since the problem described in this bug report should be resolved in a recent advisory, it has been closed with a resolution of ERRATA. For information on the advisory, and where to find the updated files, follow the link below. If the solution does not work for you, open a new bug report. https://access.redhat.com/errata/RHEA-2016:1246