<feed xmlns='http://www.w3.org/2005/Atom'>
<title>glusterfs.git/tests/00-geo-rep, branch v8dev</title>
<subtitle></subtitle>
<link rel='alternate' type='text/html' href='http://dev.gluster.org/cgit/glusterfs.git/'/>
<entry>
<title>tests/geo-rep: Add geo-rep cli testcases</title>
<updated>2019-06-06T05:17:07+00:00</updated>
<author>
<name>Kotresh HR</name>
<email>khiremat@redhat.com</email>
</author>
<published>2019-06-04T09:40:39+00:00</published>
<link rel='alternate' type='text/html' href='http://dev.gluster.org/cgit/glusterfs.git/commit/?id=76673e983b7eb849011b3fb4417cf1d5f7147352'/>
<id>76673e983b7eb849011b3fb4417cf1d5f7147352</id>
<content type='text'>
Change-Id: Icf93b90bcac022a355d4718220698987dbc91ecf
Signed-off-by: Kotresh HR &lt;khiremat@redhat.com&gt;
updates: bz#1693692
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Change-Id: Icf93b90bcac022a355d4718220698987dbc91ecf
Signed-off-by: Kotresh HR &lt;khiremat@redhat.com&gt;
updates: bz#1693692
</pre>
</div>
</content>
</entry>
<entry>
<title>tests/geo-rep: Add geo-rep glusterd test cases</title>
<updated>2019-06-04T06:24:38+00:00</updated>
<author>
<name>Kotresh HR</name>
<email>khiremat@redhat.com</email>
</author>
<published>2019-06-03T07:55:16+00:00</published>
<link rel='alternate' type='text/html' href='http://dev.gluster.org/cgit/glusterfs.git/commit/?id=d8bb432eb776f3a8708ed6cacf1c19fca9524d51'/>
<id>d8bb432eb776f3a8708ed6cacf1c19fca9524d51</id>
<content type='text'>
1. Add geo-rep fanout test case
2. Add glusterd geo-rep negative test cases
3. Add glusterd geo-rep config test cases

Change-Id: I856c087eb3216d8f0ffd1f266deac88e9a4effec
Signed-off-by: Kotresh HR &lt;khiremat@redhat.com&gt;
updates: bz#1693692
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
1. Add geo-rep fanout test case
2. Add glusterd geo-rep negative test cases
3. Add glusterd geo-rep config test cases

Change-Id: I856c087eb3216d8f0ffd1f266deac88e9a4effec
Signed-off-by: Kotresh HR &lt;khiremat@redhat.com&gt;
updates: bz#1693692
</pre>
</div>
</content>
</entry>
<entry>
<title>tests/geo-rep: Remove a rename test case on EC volume</title>
<updated>2019-06-04T06:24:25+00:00</updated>
<author>
<name>Kotresh HR</name>
<email>khiremat@redhat.com</email>
</author>
<published>2019-06-03T08:45:51+00:00</published>
<link rel='alternate' type='text/html' href='http://dev.gluster.org/cgit/glusterfs.git/commit/?id=0687befd3332111c7522766aa437ce5166771d0b'/>
<id>0687befd3332111c7522766aa437ce5166771d0b</id>
<content type='text'>
Rename with existing name testcase is occasionaly
failing on EC volume. Hence commenting the same
until it's analysed

Change-Id: Icb2ad189b9e4d12101e8f5abcb8a033181360386
Signed-off-by: Kotresh HR &lt;khiremat@redhat.com&gt;
updates: bz#1193929
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Rename with existing name testcase is occasionaly
failing on EC volume. Hence commenting the same
until it's analysed

Change-Id: Icb2ad189b9e4d12101e8f5abcb8a033181360386
Signed-off-by: Kotresh HR &lt;khiremat@redhat.com&gt;
updates: bz#1193929
</pre>
</div>
</content>
</entry>
<entry>
<title>tests/geo-rep: Add tests to cover glusterd geo-rep</title>
<updated>2019-05-31T13:25:19+00:00</updated>
<author>
<name>Kotresh HR</name>
<email>khiremat@redhat.com</email>
</author>
<published>2019-05-31T11:22:04+00:00</published>
<link rel='alternate' type='text/html' href='http://dev.gluster.org/cgit/glusterfs.git/commit/?id=fc49927b5fe06380cab309787d2bd62601fa75c4'/>
<id>fc49927b5fe06380cab309787d2bd62601fa75c4</id>
<content type='text'>
Change-Id: Ide59a3fde11b23f654b1ec03d72b4ec53b36a03b
Signed-off-by: Kotresh HR &lt;khiremat@redhat.com&gt;
updates: bz#1693692
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Change-Id: Ide59a3fde11b23f654b1ec03d72b4ec53b36a03b
Signed-off-by: Kotresh HR &lt;khiremat@redhat.com&gt;
updates: bz#1693692
</pre>
</div>
</content>
</entry>
<entry>
<title>tests/geo-rep: Add EC volume test case</title>
<updated>2019-05-31T11:16:49+00:00</updated>
<author>
<name>Shwetha K Acharya</name>
<email>sacharya@redhat.com</email>
</author>
<published>2019-05-17T06:54:50+00:00</published>
<link rel='alternate' type='text/html' href='http://dev.gluster.org/cgit/glusterfs.git/commit/?id=f8b0ba06c4cea428f6eb7730f4430b3564c83da0'/>
<id>f8b0ba06c4cea428f6eb7730f4430b3564c83da0</id>
<content type='text'>
Added geo-rep regression tests with EC volume.

fixes: bz#1650095
Change-Id: Ifb6e68e0a6103a98fced7f84d3088b8edf33d52f
Signed-off-by: Shwetha K Acharya &lt;sacharya@redhat.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Added geo-rep regression tests with EC volume.

fixes: bz#1650095
Change-Id: Ifb6e68e0a6103a98fced7f84d3088b8edf33d52f
Signed-off-by: Shwetha K Acharya &lt;sacharya@redhat.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>geo-rep: Fix sync hang with tarssh</title>
<updated>2019-05-13T11:06:41+00:00</updated>
<author>
<name>Kotresh HR</name>
<email>khiremat@redhat.com</email>
</author>
<published>2019-05-08T05:56:06+00:00</published>
<link rel='alternate' type='text/html' href='http://dev.gluster.org/cgit/glusterfs.git/commit/?id=f0d3690e8916cfb5e10a0df2e9721a0fd079bfce'/>
<id>f0d3690e8916cfb5e10a0df2e9721a0fd079bfce</id>
<content type='text'>
Problem:
Geo-rep sync hangs when tarssh is used as sync
engine at heavy workload.

Analysis and Root cause:
It's found out that the tar process was hung.
When debugged further, it's found out that stderr
buffer of tar process on master was full i.e., 64k.
When the buffer was copied to a file from /proc/pid/fd/2,
the hang is resolved.

This can happen when files picked by tar process
to sync doesn't exist on master anymore. If this count
increases around 1k, the stderr buffer is filled up.

Fix:
The tar process is executed using Popen with stderr as PIPE.
The final execution is something like below.

tar | ssh &lt;args&gt; root@slave tar --overwrite -xf - -C &lt;path&gt;

It was waiting on ssh process first using communicate() and then tar.
Note that communicate() reads stdout and stderr. So when stderr of tar
process is filled up, there is no one to read until untar via ssh is
completed. This can't happen and leads to deadlock.
Hence we should be waiting on both process parallely, so that stderr is
read on both processes.

Change-Id: I609c7cc5c07e210c504771115b4d551a2e891adf
fixes: bz#1707728
Signed-off-by: Kotresh HR &lt;khiremat@redhat.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Problem:
Geo-rep sync hangs when tarssh is used as sync
engine at heavy workload.

Analysis and Root cause:
It's found out that the tar process was hung.
When debugged further, it's found out that stderr
buffer of tar process on master was full i.e., 64k.
When the buffer was copied to a file from /proc/pid/fd/2,
the hang is resolved.

This can happen when files picked by tar process
to sync doesn't exist on master anymore. If this count
increases around 1k, the stderr buffer is filled up.

Fix:
The tar process is executed using Popen with stderr as PIPE.
The final execution is something like below.

tar | ssh &lt;args&gt; root@slave tar --overwrite -xf - -C &lt;path&gt;

It was waiting on ssh process first using communicate() and then tar.
Note that communicate() reads stdout and stderr. So when stderr of tar
process is filled up, there is no one to read until untar via ssh is
completed. This can't happen and leads to deadlock.
Hence we should be waiting on both process parallely, so that stderr is
read on both processes.

Change-Id: I609c7cc5c07e210c504771115b4d551a2e891adf
fixes: bz#1707728
Signed-off-by: Kotresh HR &lt;khiremat@redhat.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>cli: Validate invalid slave url</title>
<updated>2019-05-11T11:09:06+00:00</updated>
<author>
<name>Kotresh HR</name>
<email>khiremat@redhat.com</email>
</author>
<published>2019-04-23T07:11:32+00:00</published>
<link rel='alternate' type='text/html' href='http://dev.gluster.org/cgit/glusterfs.git/commit/?id=af4d9131c8d09907853ee2f6e30b2a9bd80f3c84'/>
<id>af4d9131c8d09907853ee2f6e30b2a9bd80f3c84</id>
<content type='text'>
This patch validates the invalid slave url
in cli itself and throws appropriate error.

fixes: bz#1098991
Change-Id: I278e2a04a4d619d2c2d1db0dd56ab5bdf7e7f469
Signed-off-by: Kotresh HR &lt;khiremat@redhat.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This patch validates the invalid slave url
in cli itself and throws appropriate error.

fixes: bz#1098991
Change-Id: I278e2a04a4d619d2c2d1db0dd56ab5bdf7e7f469
Signed-off-by: Kotresh HR &lt;khiremat@redhat.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>geo-rep: Fix sync-method config</title>
<updated>2019-05-09T05:18:05+00:00</updated>
<author>
<name>Kotresh HR</name>
<email>khiremat@redhat.com</email>
</author>
<published>2019-05-08T05:26:31+00:00</published>
<link rel='alternate' type='text/html' href='http://dev.gluster.org/cgit/glusterfs.git/commit/?id=84b7cc57df065e2d8c0ac88b179aab3614ec814a'/>
<id>84b7cc57df065e2d8c0ac88b179aab3614ec814a</id>
<content type='text'>
Problem:
When 'use_tarssh' is set to true, it exits with successful
message but the default 'rsync' was used as sync-engine.
The new config 'sync-method' is not allowed to set from cli.

Analysis and Fix:
The 'use_tarssh' config is deprecated with new
config framework and 'sync-method' is the new
config to choose sync-method i.e. tarssh or rsync.
This patch fixes the 'sync-method' config. The allowed
values are tarssh and rsync.

Change-Id: I0edb0319cad0455b29e49f2f08a64ce324735e84
fixes: bz#1707686
Signed-off-by: Kotresh HR &lt;khiremat@redhat.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Problem:
When 'use_tarssh' is set to true, it exits with successful
message but the default 'rsync' was used as sync-engine.
The new config 'sync-method' is not allowed to set from cli.

Analysis and Fix:
The 'use_tarssh' config is deprecated with new
config framework and 'sync-method' is the new
config to choose sync-method i.e. tarssh or rsync.
This patch fixes the 'sync-method' config. The allowed
values are tarssh and rsync.

Change-Id: I0edb0319cad0455b29e49f2f08a64ce324735e84
fixes: bz#1707686
Signed-off-by: Kotresh HR &lt;khiremat@redhat.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>tests/geo-rep: Fix arequal checksum comparison</title>
<updated>2019-05-09T05:16:51+00:00</updated>
<author>
<name>Kotresh HR</name>
<email>khiremat@redhat.com</email>
</author>
<published>2019-05-08T08:40:05+00:00</published>
<link rel='alternate' type='text/html' href='http://dev.gluster.org/cgit/glusterfs.git/commit/?id=288cffd1ab7180cccfcdea36d0c469b9fa52108f'/>
<id>288cffd1ab7180cccfcdea36d0c469b9fa52108f</id>
<content type='text'>
The arequal checkusm comparison was always returning
as successful, eventhough, if it was not. Fixed the same.

Change-Id: I5083da25c0954126e452d06311d2d376f8540555
fixes: bz#1707742
Signed-off-by: Kotresh HR &lt;khiremat@redhat.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
The arequal checkusm comparison was always returning
as successful, eventhough, if it was not. Fixed the same.

Change-Id: I5083da25c0954126e452d06311d2d376f8540555
fixes: bz#1707742
Signed-off-by: Kotresh HR &lt;khiremat@redhat.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>geo-rep: Fix rename with existing destination with same gfid</title>
<updated>2019-04-26T07:15:00+00:00</updated>
<author>
<name>Sunny Kumar</name>
<email>sunkumar@redhat.com</email>
</author>
<published>2019-04-02T07:08:09+00:00</published>
<link rel='alternate' type='text/html' href='http://dev.gluster.org/cgit/glusterfs.git/commit/?id=e7e89c9ec8b56ad5a442ad105c0b05e674a591cd'/>
<id>e7e89c9ec8b56ad5a442ad105c0b05e674a591cd</id>
<content type='text'>
Problem:
   Geo-rep fails to sync the rename properly if destination exists.
It results in source to be remained on slave causing more number of
files on slave. Also heavy rename workload like logrotate caused
lot of ESTALE errors

Cause:
   Geo-rep fails to sync rename if destination exists if creation
of source file also falls into single batch of changelogs being
processed. This is because, after fixing problematic gfids verifying
from master, while re-processing original entries, CREATE also was
re-processed causing more files on slave and rename to be failed.

Solution:
   Entries need to be removed from retrial list after fixing
problematic gfids on slave so that it's not re-created again on slave.
   Also treat ESTALE as EEXIST so that the error is properly handled
verifying the op on master volume.

Change-Id: I50cf289e06b997adddff0552bf2466d9201dd1f9
fixes: bz#1694820
Signed-off-by: Kotresh HR &lt;khiremat@redhat.com&gt;
Signed-off-by: Sunny Kumar &lt;sunkumar@redhat.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Problem:
   Geo-rep fails to sync the rename properly if destination exists.
It results in source to be remained on slave causing more number of
files on slave. Also heavy rename workload like logrotate caused
lot of ESTALE errors

Cause:
   Geo-rep fails to sync rename if destination exists if creation
of source file also falls into single batch of changelogs being
processed. This is because, after fixing problematic gfids verifying
from master, while re-processing original entries, CREATE also was
re-processed causing more files on slave and rename to be failed.

Solution:
   Entries need to be removed from retrial list after fixing
problematic gfids on slave so that it's not re-created again on slave.
   Also treat ESTALE as EEXIST so that the error is properly handled
verifying the op on master volume.

Change-Id: I50cf289e06b997adddff0552bf2466d9201dd1f9
fixes: bz#1694820
Signed-off-by: Kotresh HR &lt;khiremat@redhat.com&gt;
Signed-off-by: Sunny Kumar &lt;sunkumar@redhat.com&gt;
</pre>
</div>
</content>
</entry>
</feed>
