diff options
author | Poornima G <pgurusid@redhat.com> | 2016-08-17 20:19:59 +0530 |
---|---|---|
committer | Pranith Kumar Karampuri <pkarampu@redhat.com> | 2016-08-31 20:18:42 -0700 |
commit | ee0d8ca53f685f8f27c93b3d7c808f2a78c1ae43 (patch) | |
tree | 32627cdffde0b55cff78d972529a456178655cc6 /tests | |
parent | 054b09eb5f040ccc0adbb86759da403b49544083 (diff) |
io-stats: Add stats for upcall notificationsv3.10dev
With this patch, there will be additional entries seen in
the profile info:
UPCALL : Total number of upcall events that were sent from
the brick(in brick profile), and number of upcall
notifications recieved by client(in client profile)
Cache invalidation events:
-------------------------
CI_IATT : Number of upcalls that were cache invalidation and
had one of the IATT_UPDATE_FLAGS set. This indicates
that one of the iatt value was changed.
CI_XATTR : Number of upcalls that were cache invalidation, and
had one of the UP_XATTR or UP_XATTR_RM set. This indicates
that an xattr was updated or deleted.
CI_RENAME : Number of upcalls that were cache invalidation,
resulted by the renaming of a file or directory
CI_UNLINK : Number of upcalls that were cache invalidation,
resulted by the unlink of a file.
CI_FORGET : Number of upcalls that were cache invalidation,
resulted by the forget of inode on the server side.
Lease events:
------------
LEASE_RECALL : Number of lease recalls sent by the brick (in
brick profile), and number of lease recalls recieved
by client(in client profile)
Note that the sum of CI_IATT, CI_XATTR, CI_RENAME, CI_UNLINK,
CI_FORGET, LEASE_RECALL may not be equal to UPCALL. This is
because, each cache invalidation can carry multiple flags.
Eg:
- Every CI_XATTR will have CI_IATT
- Every CI_UNLINK will also increment CI_IATT as link count is an
iatt attribute.
Also UP_PARENT_DENTRY_FLAGS is currently not accounted for,
as CI_RENAME and CI_UNLINK will always have the flag
UP_PARENT_DENTRY_FLAGS
Change-Id: Ieb8cd21dde2c4c7618f12d025a5e5156f9cc0fe9
BUG: 1371543
Signed-off-by: Poornima G <pgurusid@redhat.com>
Reviewed-on: http://review.gluster.org/15193
Smoke: Gluster Build System <jenkins@build.gluster.org>
NetBSD-regression: NetBSD Build System <jenkins@build.gluster.org>
Reviewed-by: Rajesh Joseph <rjoseph@redhat.com>
CentOS-regression: Gluster Build System <jenkins@build.gluster.org>
Reviewed-by: Pranith Kumar Karampuri <pkarampu@redhat.com>
Diffstat (limited to 'tests')
-rwxr-xr-x | tests/bugs/upcall/bug-upcall-stat.t | 38 |
1 files changed, 38 insertions, 0 deletions
diff --git a/tests/bugs/upcall/bug-upcall-stat.t b/tests/bugs/upcall/bug-upcall-stat.t new file mode 100755 index 00000000000..b229c139b7b --- /dev/null +++ b/tests/bugs/upcall/bug-upcall-stat.t @@ -0,0 +1,38 @@ +#!/bin/bash + +. $(dirname $0)/../../include.rc +. $(dirname $0)/../../volume.rc + +cleanup; +TEST glusterd; + +TEST $CLI volume create $V0 $H0:$B0/${V0}{1}; + +TEST $CLI volume set $V0 performance.md-cache-timeout 600 +TEST $CLI volume set $V0 performance.cache-samba-metadata on +TEST $CLI volume set $V0 features.cache-invalidation on +TEST $CLI volume set $V0 features.cache-invalidation-timeout 600 + +#TEST $CLI volume stop $V0 +TEST $CLI volume start $V0 + +## 5. Create two gluster mounts +TEST glusterfs --volfile-id=/$V0 --volfile-server=$H0 $M0 +TEST glusterfs --volfile-id=/$V0 --volfile-server=$H0 $M1 + +TEST $CLI volume profile $V0 start + +## 8. Create a file +TEST touch $M0/file1 + +TEST "setfattr -n user.DOSATTRIB -v "abc" $M0/file1" +TEST "getfattr -n user.DOSATTRIB $M1/file1 | grep -q abc" +TEST "setfattr -n user.DOSATTRIB -v "xyz" $M0/file1" +sleep 2; #There can be a very very small window where the next getxattr + #reaches md-cache, before the cache-invalidation caused by previous + #setxattr, reaches md-cache. Hence sleeping for 2 sec. + #Also it should not be > 600. +TEST "getfattr -n user.DOSATTRIB $M1/file1 | grep -q xyz" + +$CLI volume profile $V0 info | grep -q CI_XATTR +EXPECT '0' echo $? |