<feed xmlns='http://www.w3.org/2005/Atom'>
<title>glusterfs.git/tests/features, branch master</title>
<subtitle>GlusterFS is a distributed file-system capable of scaling to several petabytes. It aggregates various storage bricks over Infiniband RDMA or TCP/IP interconnect into one large parallel network file system.</subtitle>
<link rel='alternate' type='text/html' href='https://fedorapeople.org/cgit/anoopcs/public_git/glusterfs.git/'/>
<entry>
<title>cluster/afr: Heal directory rename without rmdir/mkdir</title>
<updated>2020-10-01T12:03:25+00:00</updated>
<author>
<name>Pranith Kumar K</name>
<email>pkarampu@redhat.com</email>
</author>
<published>2020-04-13T14:01:51+00:00</published>
<link rel='alternate' type='text/html' href='https://fedorapeople.org/cgit/anoopcs/public_git/glusterfs.git/commit/?id=9ecbd69127d373ac000e9e1be00c1829e49e64a4'/>
<id>9ecbd69127d373ac000e9e1be00c1829e49e64a4</id>
<content type='text'>
Problem1:
When a directory is renamed while a brick
is down entry-heal always did an rm -rf on that directory on
the sink on old location and did mkdir and created the directory
hierarchy again in the new location. This is inefficient.

Problem2:
Renamedir heal order may lead to a scenario where directory in
the new location could be created before deleting it from old
location leading to 2 directories with same gfid in posix.

Fix:
As part of heal, if oldlocation is healed first and is not present in
source-brick always rename it into a hidden directory inside the
sink-brick so that when heal is triggered in new-location shd can
rename it from this hidden directory to the new-location.

If new-location heal is triggered first and it detects that the
directory already exists in the brick, then it should skip healing the
directory until it appears in the hidden directory.

Credits: Ravi for rename-data-loss.t script

Fixes: #1211
Change-Id: I0cba2006f35cd03d314d18211ce0bd530e254843
Signed-off-by: Pranith Kumar K &lt;pkarampu@redhat.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Problem1:
When a directory is renamed while a brick
is down entry-heal always did an rm -rf on that directory on
the sink on old location and did mkdir and created the directory
hierarchy again in the new location. This is inefficient.

Problem2:
Renamedir heal order may lead to a scenario where directory in
the new location could be created before deleting it from old
location leading to 2 directories with same gfid in posix.

Fix:
As part of heal, if oldlocation is healed first and is not present in
source-brick always rename it into a hidden directory inside the
sink-brick so that when heal is triggered in new-location shd can
rename it from this hidden directory to the new-location.

If new-location heal is triggered first and it detects that the
directory already exists in the brick, then it should skip healing the
directory until it appears in the hidden directory.

Credits: Ravi for rename-data-loss.t script

Fixes: #1211
Change-Id: I0cba2006f35cd03d314d18211ce0bd530e254843
Signed-off-by: Pranith Kumar K &lt;pkarampu@redhat.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>tests: provide an option to mark tests as 'flaky'</title>
<updated>2020-08-20T08:01:07+00:00</updated>
<author>
<name>Amar Tumballi</name>
<email>amar@kadalu.io</email>
</author>
<published>2020-08-18T08:38:20+00:00</published>
<link rel='alternate' type='text/html' href='https://fedorapeople.org/cgit/anoopcs/public_git/glusterfs.git/commit/?id=097db13c11390174c5b9f11aa0fd87eca1735871'/>
<id>097db13c11390174c5b9f11aa0fd87eca1735871</id>
<content type='text'>
* also add some time gap in other tests to see if we get things properly
* create a directory 'tests/000/', which can host any tests, which are flaky.
* move all the tests mentioned in the issue to above directory.
* as the above dir gets tested first, all flaky tests would be reported quickly.
* change `run-tests.sh` to continue tests even if flaky tests fail.

Reference: gluster/project-infrastructure#72
Updates: #1000
Change-Id: Ifdafa38d083ebd80f7ae3cbbc9aa3b68b6d21d0e
Signed-off-by: Amar Tumballi &lt;amar@kadalu.io&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* also add some time gap in other tests to see if we get things properly
* create a directory 'tests/000/', which can host any tests, which are flaky.
* move all the tests mentioned in the issue to above directory.
* as the above dir gets tested first, all flaky tests would be reported quickly.
* change `run-tests.sh` to continue tests even if flaky tests fail.

Reference: gluster/project-infrastructure#72
Updates: #1000
Change-Id: Ifdafa38d083ebd80f7ae3cbbc9aa3b68b6d21d0e
Signed-off-by: Amar Tumballi &lt;amar@kadalu.io&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>test: ./tests/features/ssl-ciphers.t fail on centos 8</title>
<updated>2020-07-31T04:39:07+00:00</updated>
<author>
<name>Mohit Agrawal</name>
<email>moagrawa@redhat.com</email>
</author>
<published>2020-07-30T04:31:28+00:00</published>
<link rel='alternate' type='text/html' href='https://fedorapeople.org/cgit/anoopcs/public_git/glusterfs.git/commit/?id=3204091c850a92f492c8f89099c1ecebb502d01f'/>
<id>3204091c850a92f492c8f89099c1ecebb502d01f</id>
<content type='text'>
Check the tlsv1 openssl connection based on openssl version.
If openssl version is 1.1 it supports tls1 protocol otherwise
it supports tlsv1_2 protocol.

Fixes: #1403
Change-Id: I3ca286492049e6f84de70e3b969fa41db10378ab
Signed-off-by: Mohit Agrawal &lt;moagrawa@redhat.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Check the tlsv1 openssl connection based on openssl version.
If openssl version is 1.1 it supports tls1 protocol otherwise
it supports tlsv1_2 protocol.

Fixes: #1403
Change-Id: I3ca286492049e6f84de70e3b969fa41db10378ab
Signed-off-by: Mohit Agrawal &lt;moagrawa@redhat.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>tests/features/interrupt.t: fixes</title>
<updated>2020-07-19T04:32:10+00:00</updated>
<author>
<name>Csaba Henk</name>
<email>csaba@redhat.com</email>
</author>
<published>2020-07-08T19:48:46+00:00</published>
<link rel='alternate' type='text/html' href='https://fedorapeople.org/cgit/anoopcs/public_git/glusterfs.git/commit/?id=9ec64072850028b0da0f5ab8680a65a4a7f8b915'/>
<id>9ec64072850028b0da0f5ab8680a65a4a7f8b915</id>
<content type='text'>
- Modify the patterns for which we grep the logs so
  that they don't match themselves. The test runner
  inserts the invocation of the cases to the log, thus
  the patterns will occur in the logs verbatim. So if
  the pattern matches itself, the test case will be
  moot (always reporting success).

- Invoke the test utility (open-and-sleep) on
  unique paths so that the file at the passed
  path shall be created on each invocation.

  The kernel does not send an interrupt if
  the file is extant. (This was shadowed by
  the above mistske with result evaluation.)

- Modify the pattern for which we grep the log in
  the test case where interrupt handling is expected
  so that it asserts that the interrupt was handled.
  (So far we did not exclude the possibility of the
  interrupt triggered but not handled due to a race;
  however, it seems to be the case that this theoretic
  race does not have the potential to prevent interrupt
  handling. And if this ever changes in the future we'd
  rather be notified about that.)

Change-Id: I606da2b4064c1ecc4781c7dfdefed95a433478ce
Updates: #1374
Signed-off-by: Csaba Henk &lt;csaba@redhat.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
- Modify the patterns for which we grep the logs so
  that they don't match themselves. The test runner
  inserts the invocation of the cases to the log, thus
  the patterns will occur in the logs verbatim. So if
  the pattern matches itself, the test case will be
  moot (always reporting success).

- Invoke the test utility (open-and-sleep) on
  unique paths so that the file at the passed
  path shall be created on each invocation.

  The kernel does not send an interrupt if
  the file is extant. (This was shadowed by
  the above mistske with result evaluation.)

- Modify the pattern for which we grep the log in
  the test case where interrupt handling is expected
  so that it asserts that the interrupt was handled.
  (So far we did not exclude the possibility of the
  interrupt triggered but not handled due to a race;
  however, it seems to be the case that this theoretic
  race does not have the potential to prevent interrupt
  handling. And if this ever changes in the future we'd
  rather be notified about that.)

Change-Id: I606da2b4064c1ecc4781c7dfdefed95a433478ce
Updates: #1374
Signed-off-by: Csaba Henk &lt;csaba@redhat.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>mount/fuse: use cookies to get fuse-interrupt-record instead of xdata</title>
<updated>2020-06-18T06:12:07+00:00</updated>
<author>
<name>Pranith Kumar K</name>
<email>pkarampu@redhat.com</email>
</author>
<published>2020-06-17T05:15:19+00:00</published>
<link rel='alternate' type='text/html' href='https://fedorapeople.org/cgit/anoopcs/public_git/glusterfs.git/commit/?id=351091657359b41a261ea43c2fcddf5629f44943'/>
<id>351091657359b41a261ea43c2fcddf5629f44943</id>
<content type='text'>
Problem:
On executing tests/features/flock_interrupt.t the following error log
appears
[2020-06-16 11:51:54.631072 +0000] E
[fuse-bridge.c:4791:fuse_setlk_interrupt_handler_cbk] 0-glusterfs-fuse:
interrupt record not found

This happens because fuse-interrupt-record is never sent on the wire by
getxattr fop and there is no guarantee that in the cbk it will be
available in case of failures.

Fix:
wind getxattr fop with fuse-interrupt-record as cookie and recover it
in the cbk

Fixes: #1310
Change-Id: I4cfff154321a449114fc26e9440db0f08e5c7daa
Signed-off-by: Pranith Kumar K &lt;pkarampu@redhat.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Problem:
On executing tests/features/flock_interrupt.t the following error log
appears
[2020-06-16 11:51:54.631072 +0000] E
[fuse-bridge.c:4791:fuse_setlk_interrupt_handler_cbk] 0-glusterfs-fuse:
interrupt record not found

This happens because fuse-interrupt-record is never sent on the wire by
getxattr fop and there is no guarantee that in the cbk it will be
available in case of failures.

Fix:
wind getxattr fop with fuse-interrupt-record as cookie and recover it
in the cbk

Fixes: #1310
Change-Id: I4cfff154321a449114fc26e9440db0f08e5c7daa
Signed-off-by: Pranith Kumar K &lt;pkarampu@redhat.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>tests: Fix for spurious failure for some test cases</title>
<updated>2020-04-16T11:15:51+00:00</updated>
<author>
<name>Mohit Agrawal</name>
<email>moagrawal@redhat.com</email>
</author>
<published>2020-04-10T08:15:50+00:00</published>
<link rel='alternate' type='text/html' href='https://fedorapeople.org/cgit/anoopcs/public_git/glusterfs.git/commit/?id=39f4a03cbaa7b3b93a3750258607cbd91b9d4b9d'/>
<id>39f4a03cbaa7b3b93a3750258607cbd91b9d4b9d</id>
<content type='text'>
Problem: Sometimes test case is failing at the time of creating files
         on mount point after mounting the volume

Solution: After started the volume need to wait to make sure all
          bricks instances are completely started so put a online_brick_count
          check after just started the volume

Change-Id: I5020e7e417539377277ca00189f9c51d2cf877a6
Fixes: #1162
Signed-off-by: Mohit Agrawal &lt;moagrawal@redhat.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Problem: Sometimes test case is failing at the time of creating files
         on mount point after mounting the volume

Solution: After started the volume need to wait to make sure all
          bricks instances are completely started so put a online_brick_count
          check after just started the volume

Change-Id: I5020e7e417539377277ca00189f9c51d2cf877a6
Fixes: #1162
Signed-off-by: Mohit Agrawal &lt;moagrawal@redhat.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>tests: Fix spurious failure of worm.t</title>
<updated>2020-04-13T14:51:55+00:00</updated>
<author>
<name>Rinku Kothiya</name>
<email>rkothiya@redhat.com</email>
</author>
<published>2020-04-09T13:51:22+00:00</published>
<link rel='alternate' type='text/html' href='https://fedorapeople.org/cgit/anoopcs/public_git/glusterfs.git/commit/?id=43ed6fa34b259b568ae1442b65a5004a894a2654'/>
<id>43ed6fa34b259b568ae1442b65a5004a894a2654</id>
<content type='text'>
When the output of date command is a single digit
number it is preceded by zero which is getting
considered as an octal number. Removing the leading
zero from the number solved the problem.

Fixes: #1156

Change-Id: Iac4fa20607c0bb90d94dd8ff157ef6b60932c560
Signed-off-by: Rinku Kothiya &lt;rkothiya@redhat.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
When the output of date command is a single digit
number it is preceded by zero which is getting
considered as an octal number. Removing the leading
zero from the number solved the problem.

Fixes: #1156

Change-Id: Iac4fa20607c0bb90d94dd8ff157ef6b60932c560
Signed-off-by: Rinku Kothiya &lt;rkothiya@redhat.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>Posix: Use simple approach to close fd</title>
<updated>2020-03-20T04:08:42+00:00</updated>
<author>
<name>Mohit Agrawal</name>
<email>moagrawal@redhat.com</email>
</author>
<published>2020-03-12T15:42:13+00:00</published>
<link rel='alternate' type='text/html' href='https://fedorapeople.org/cgit/anoopcs/public_git/glusterfs.git/commit/?id=fb20713b380e1df8d7f9e9df96563be2f9144fd6'/>
<id>fb20713b380e1df8d7f9e9df96563be2f9144fd6</id>
<content type='text'>
Problem: posix_release(dir) functions add the fd's into a ctx-&gt;janitor_fds
         and janitor thread closes the fd's.In brick_mux environment it is
         difficult to handle race condition in janitor threads because brick
         spawns a single janitor thread for all bricks.

Solution: Use synctask to execute posix_release(dir) functions instead of 
          using background a thread to close fds.

Credits: Pranith Karampuri &lt;pkarampu@redhat.com&gt;
Change-Id: Iffb031f0695a7da83d5a2f6bac8863dad225317e
Fixes: bz#1811631
Signed-off-by: Mohit Agrawal &lt;moagrawal@redhat.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Problem: posix_release(dir) functions add the fd's into a ctx-&gt;janitor_fds
         and janitor thread closes the fd's.In brick_mux environment it is
         difficult to handle race condition in janitor threads because brick
         spawns a single janitor thread for all bricks.

Solution: Use synctask to execute posix_release(dir) functions instead of 
          using background a thread to close fds.

Credits: Pranith Karampuri &lt;pkarampu@redhat.com&gt;
Change-Id: Iffb031f0695a7da83d5a2f6bac8863dad225317e
Fixes: bz#1811631
Signed-off-by: Mohit Agrawal &lt;moagrawal@redhat.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>WORM-Xlator: Initial write of a file succeeds if auto-commit-period 0</title>
<updated>2020-03-17T04:24:14+00:00</updated>
<author>
<name>David Spisla</name>
<email>david.spisla@iternity.com</email>
</author>
<published>2020-02-25T09:57:36+00:00</published>
<link rel='alternate' type='text/html' href='https://fedorapeople.org/cgit/anoopcs/public_git/glusterfs.git/commit/?id=476139c962c298b2d00a3d42b90632fc25401526'/>
<id>476139c962c298b2d00a3d42b90632fc25401526</id>
<content type='text'>
If worm-file-level enabled and auto-commit-period 0 an initial write
of a file (e.g. $ echo test &gt;&gt; file1.txt) would lead to an zero byte
file because the WORM xlator immediately WORMed the file when it was
created.

To avoid this we move the setting of trusted.worm_file from
worm_create_cbk to worm_release . This means that this xattr will set
when the filehandle is closed and all initial WRITE FOPs succeed.

Finally we also perform gf_worm_state_transition in worm_release to
ensure that the file will be immediately WORMed after the file handle
was closed.

Change-Id: I5d02e18975b646ca1a27ed41d836e9d0dc333204
Fixes: bz#1808421
Signed-off-by: David Spisla &lt;david.spisla@iternity.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
If worm-file-level enabled and auto-commit-period 0 an initial write
of a file (e.g. $ echo test &gt;&gt; file1.txt) would lead to an zero byte
file because the WORM xlator immediately WORMed the file when it was
created.

To avoid this we move the setting of trusted.worm_file from
worm_create_cbk to worm_release . This means that this xattr will set
when the filehandle is closed and all initial WRITE FOPs succeed.

Finally we also perform gf_worm_state_transition in worm_release to
ensure that the file will be immediately WORMed after the file handle
was closed.

Change-Id: I5d02e18975b646ca1a27ed41d836e9d0dc333204
Fixes: bz#1808421
Signed-off-by: David Spisla &lt;david.spisla@iternity.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>ssl/test: ssl test case is failing when using specific cipher</title>
<updated>2019-11-15T07:38:05+00:00</updated>
<author>
<name>Mohit Agrawal</name>
<email>moagrawal@redhat.com</email>
</author>
<published>2019-11-13T02:53:09+00:00</published>
<link rel='alternate' type='text/html' href='https://fedorapeople.org/cgit/anoopcs/public_git/glusterfs.git/commit/?id=1e7fc7e540f3f7ca96e16a837d89405901bf03a2'/>
<id>1e7fc7e540f3f7ca96e16a837d89405901bf03a2</id>
<content type='text'>
Problem: On RHEL-8 ssl test case is failing when trying to
         connect with a peer after using the specific cipher.

Solution: If cipher is not supported by openssl on rhel-8 then
          test case is failed.To avoid the issue validate the
          cipher before connecting with peer.

Change-Id: I96d92d3602cf7fd40337126c8305a3f8925faf9b
Fixes: bz#1756900
Signed-off-by: Mohit Agrawal &lt;moagrawal@redhat.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Problem: On RHEL-8 ssl test case is failing when trying to
         connect with a peer after using the specific cipher.

Solution: If cipher is not supported by openssl on rhel-8 then
          test case is failed.To avoid the issue validate the
          cipher before connecting with peer.

Change-Id: I96d92d3602cf7fd40337126c8305a3f8925faf9b
Fixes: bz#1756900
Signed-off-by: Mohit Agrawal &lt;moagrawal@redhat.com&gt;
</pre>
</div>
</content>
</entry>
</feed>
