<feed xmlns='http://www.w3.org/2005/Atom'>
<title>glusterfs.git/tests/geo-rep.rc, branch v3.11.0beta1</title>
<subtitle></subtitle>
<link rel='alternate' type='text/html' href='http://git.gluster.org/cgit/glusterfs.git/'/>
<entry>
<title>georep: tests for logrotate, create+rename, hard-link rename</title>
<updated>2016-08-09T07:29:35+00:00</updated>
<author>
<name>Milind Changire</name>
<email>mchangir@redhat.com</email>
</author>
<published>2016-03-10T08:15:52+00:00</published>
<link rel='alternate' type='text/html' href='http://git.gluster.org/cgit/glusterfs.git/commit/?id=76401324af5a5e7dc3acf8d4fbe4884d6c3f0281'/>
<id>76401324af5a5e7dc3acf8d4fbe4884d6c3f0281</id>
<content type='text'>
* log rotate
  eg. with rotate count as 2 and with the following files created
  x.log, x.log.1 and x.log.2, another iteration of logrotate results in
  the following operations to be performed

  x.log.2 is renamed to x.log.3
  x.log.1 is renamed to x.log.2
  x.log is renamed to x.log.1
  x.log.3 is deleted
  x.log is created   [possible gfid allocated that belonged to x.log.3]

  when a file is created, there's a big possibility that a gfid used
  earlier can be reassigned and reused. This causes RENAME operations
  to fail on slave nodes when logs are replayed, typically on a Georep
  restart.
  A function called logrotate_simulate has been added to tests/geo-rep.rc
  to help simulate this situation. Starting from a clean state,
  logrotate_simulate has to be called 4 times with a rotate count of 2
  to help the logs roll over and cause a delete at the end and a gfid
  reallocation.
  With the bug-fix in place, this test should not cause the Georep
  session to go into a Faulty state.

* create+rename
  On log replay after Georep restart, a create+rename causes an entry
  to be created for the original file, but it cannot be linked to the
  gfid back-end since it is associated with the renamed file before
  the Georep restart.
  A function create_rename simulates the create+rename scenario and
  the function create_rename_ok tests if the dangling entry is present
  at the slave mount.
  With the bug-fix in place, a dangling entry with the original name
  should not be found at the slave mount after logs are replayed after
  a Georep restart.

* hard-link rename
  This case is similar to the create+rename case except that this is
  a case of renaming hard-link to one of its other names.
  A function hardlink_rename has been added to tests/geo-rep.rc which
  simulates the creation and rename of hard-link. After a Georep session
  restart, the test function hardlink_rename_ok should not find the
  source link name on the slave.
  With the bug-fix in place, this test should not fail.
  If changelogs have been enabled on the slave as well, then the logs
  should show an UNLINK entry for the source link name, since a rename
  operation of a hard link to one of its names essentially just drops
  the source name as per the 'mv' command semantics.

Change-Id: I85b196c00cf79a11bada25ef2fe5f1dc5c0c858a
BUG: 1316389
Signed-off-by: Milind Changire &lt;mchangir@redhat.com&gt;
Reviewed-on: http://review.gluster.org/13663
Smoke: Gluster Build System &lt;jenkins@build.gluster.org&gt;
CentOS-regression: Gluster Build System &lt;jenkins@build.gluster.org&gt;
NetBSD-regression: NetBSD Build System &lt;jenkins@build.gluster.org&gt;
Reviewed-by: Aravinda VK &lt;avishwan@redhat.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* log rotate
  eg. with rotate count as 2 and with the following files created
  x.log, x.log.1 and x.log.2, another iteration of logrotate results in
  the following operations to be performed

  x.log.2 is renamed to x.log.3
  x.log.1 is renamed to x.log.2
  x.log is renamed to x.log.1
  x.log.3 is deleted
  x.log is created   [possible gfid allocated that belonged to x.log.3]

  when a file is created, there's a big possibility that a gfid used
  earlier can be reassigned and reused. This causes RENAME operations
  to fail on slave nodes when logs are replayed, typically on a Georep
  restart.
  A function called logrotate_simulate has been added to tests/geo-rep.rc
  to help simulate this situation. Starting from a clean state,
  logrotate_simulate has to be called 4 times with a rotate count of 2
  to help the logs roll over and cause a delete at the end and a gfid
  reallocation.
  With the bug-fix in place, this test should not cause the Georep
  session to go into a Faulty state.

* create+rename
  On log replay after Georep restart, a create+rename causes an entry
  to be created for the original file, but it cannot be linked to the
  gfid back-end since it is associated with the renamed file before
  the Georep restart.
  A function create_rename simulates the create+rename scenario and
  the function create_rename_ok tests if the dangling entry is present
  at the slave mount.
  With the bug-fix in place, a dangling entry with the original name
  should not be found at the slave mount after logs are replayed after
  a Georep restart.

* hard-link rename
  This case is similar to the create+rename case except that this is
  a case of renaming hard-link to one of its other names.
  A function hardlink_rename has been added to tests/geo-rep.rc which
  simulates the creation and rename of hard-link. After a Georep session
  restart, the test function hardlink_rename_ok should not find the
  source link name on the slave.
  With the bug-fix in place, this test should not fail.
  If changelogs have been enabled on the slave as well, then the logs
  should show an UNLINK entry for the source link name, since a rename
  operation of a hard link to one of its names essentially just drops
  the source name as per the 'mv' command semantics.

Change-Id: I85b196c00cf79a11bada25ef2fe5f1dc5c0c858a
BUG: 1316389
Signed-off-by: Milind Changire &lt;mchangir@redhat.com&gt;
Reviewed-on: http://review.gluster.org/13663
Smoke: Gluster Build System &lt;jenkins@build.gluster.org&gt;
CentOS-regression: Gluster Build System &lt;jenkins@build.gluster.org&gt;
NetBSD-regression: NetBSD Build System &lt;jenkins@build.gluster.org&gt;
Reviewed-by: Aravinda VK &lt;avishwan@redhat.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>geo-rep: Fix syncing chown in xsync crawl</title>
<updated>2015-11-09T07:09:08+00:00</updated>
<author>
<name>Kotresh HR</name>
<email>khiremat@redhat.com</email>
</author>
<published>2015-09-21T09:21:13+00:00</published>
<link rel='alternate' type='text/html' href='http://git.gluster.org/cgit/glusterfs.git/commit/?id=dc8d65381bbead0a00d045b7040e0cd86d80955b'/>
<id>dc8d65381bbead0a00d045b7040e0cd86d80955b</id>
<content type='text'>
GEO-REP INTEROP WITH SHARD FEATURE

Problem:
    The sequence of entry creation and chown in master
 is recorded as creation of entry with resulted
 user:group in xsync changelog. During sync, entry
 creation is always split into two ops, MKNOD and
 SETATTR. Hence the issue is not being hit otherwise
 it would have failed with EPERM if parent is owned
 by different user. But with shard translator being
 enabled on slave, doing entry creation with MKNOD and
 SETATTR is not allowed, SETATTR fails as it accesses
 inode structure which is not linked.

Solution:
    The sequence of entry creation and chown in master
 should be recorded as MKNOD and SETATTR separately always
 and do entry creation with single op in gfid-access
 xlator. The gfid-access patch will be sent separately.

Change-Id: I93e554bf9342397a7660503f5128e9709f8a0cd8
BUG: 1265148
Signed-off-by: Kotresh HR &lt;khiremat@redhat.com&gt;
Reviewed-on: http://review.gluster.org/12205
Tested-by: NetBSD Build System &lt;jenkins@build.gluster.org&gt;
Reviewed-by: Aravinda VK &lt;avishwan@redhat.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
GEO-REP INTEROP WITH SHARD FEATURE

Problem:
    The sequence of entry creation and chown in master
 is recorded as creation of entry with resulted
 user:group in xsync changelog. During sync, entry
 creation is always split into two ops, MKNOD and
 SETATTR. Hence the issue is not being hit otherwise
 it would have failed with EPERM if parent is owned
 by different user. But with shard translator being
 enabled on slave, doing entry creation with MKNOD and
 SETATTR is not allowed, SETATTR fails as it accesses
 inode structure which is not linked.

Solution:
    The sequence of entry creation and chown in master
 should be recorded as MKNOD and SETATTR separately always
 and do entry creation with single op in gfid-access
 xlator. The gfid-access patch will be sent separately.

Change-Id: I93e554bf9342397a7660503f5128e9709f8a0cd8
BUG: 1265148
Signed-off-by: Kotresh HR &lt;khiremat@redhat.com&gt;
Reviewed-on: http://review.gluster.org/12205
Tested-by: NetBSD Build System &lt;jenkins@build.gluster.org&gt;
Reviewed-by: Aravinda VK &lt;avishwan@redhat.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>tests: Fix return value in geo-rep tests</title>
<updated>2015-08-31T17:15:34+00:00</updated>
<author>
<name>Kotresh HR</name>
<email>khiremat@redhat.com</email>
</author>
<published>2015-08-13T07:41:32+00:00</published>
<link rel='alternate' type='text/html' href='http://git.gluster.org/cgit/glusterfs.git/commit/?id=e012bdc721945fb6d996e3f67881a705ef966026'/>
<id>e012bdc721945fb6d996e3f67881a705ef966026</id>
<content type='text'>
Remove the function 'data_tests' and TEST
each fop in testcase itself to determine
the exact test that fails.

Change-Id: Iffc3e2ac3b0fc0c7c64259fcdff8f27b146dcb9b
BUG: 1227624
Signed-off-by: Kotresh HR &lt;khiremat@redhat.com&gt;
Reviewed-on: http://review.gluster.org/11907
Tested-by: NetBSD Build System &lt;jenkins@build.gluster.org&gt;
Reviewed-by: Jeff Darcy &lt;jdarcy@redhat.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Remove the function 'data_tests' and TEST
each fop in testcase itself to determine
the exact test that fails.

Change-Id: Iffc3e2ac3b0fc0c7c64259fcdff8f27b146dcb9b
BUG: 1227624
Signed-off-by: Kotresh HR &lt;khiremat@redhat.com&gt;
Reviewed-on: http://review.gluster.org/11907
Tested-by: NetBSD Build System &lt;jenkins@build.gluster.org&gt;
Reviewed-by: Jeff Darcy &lt;jdarcy@redhat.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>tests: New simple geo-rep regression test suite</title>
<updated>2015-08-12T06:38:06+00:00</updated>
<author>
<name>Kotresh HR</name>
<email>khiremat@redhat.com</email>
</author>
<published>2015-05-28T13:56:00+00:00</published>
<link rel='alternate' type='text/html' href='http://git.gluster.org/cgit/glusterfs.git/commit/?id=dace4bbd0fdce567703a1a8d2d74a0a3f166f334'/>
<id>dace4bbd0fdce567703a1a8d2d74a0a3f166f334</id>
<content type='text'>
This is a new simple regression test suite for
geo-replication. This is written keeping in mind
the run time for regression test. The existing
regression test suite is rigorous one and could
be run nightly. Hence the existing geo-rep tests
are being removed as part of this.

Also re-enable geo-rep regression with this patch.

Thanks Aravinda for initial template and plan.

Change-Id: If544ac295eaf67ac66e0b071903cc1096e71d437
BUG: 1227624
Signed-off-by: Kotresh HR &lt;khiremat@redhat.com&gt;
Reviewed-on: http://review.gluster.org/11058
Tested-by: Gluster Build System &lt;jenkins@build.gluster.com&gt;
Tested-by: NetBSD Build System &lt;jenkins@build.gluster.org&gt;
Reviewed-by: Aravinda VK &lt;avishwan@redhat.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This is a new simple regression test suite for
geo-replication. This is written keeping in mind
the run time for regression test. The existing
regression test suite is rigorous one and could
be run nightly. Hence the existing geo-rep tests
are being removed as part of this.

Also re-enable geo-rep regression with this patch.

Thanks Aravinda for initial template and plan.

Change-Id: If544ac295eaf67ac66e0b071903cc1096e71d437
BUG: 1227624
Signed-off-by: Kotresh HR &lt;khiremat@redhat.com&gt;
Reviewed-on: http://review.gluster.org/11058
Tested-by: Gluster Build System &lt;jenkins@build.gluster.com&gt;
Tested-by: NetBSD Build System &lt;jenkins@build.gluster.org&gt;
Reviewed-by: Aravinda VK &lt;avishwan@redhat.com&gt;
</pre>
</div>
</content>
</entry>
</feed>
