Pranith Kumar K 75223c0a1b debug/delay-gen: Implement delay-generation feature
Background:
I was working on a customer issue where the disks were responding some times
after seconds. It was becoming very difficult to recreate the issues in our
labs, so had to come up with this feature.

Requirements:
We need an xlator which can delay x% of ops for y micro seconds.
We should be able to enable delays for specific fops.

This feature is modeled after error-gen. Most of the logic
is borrowed from that xlator. This is a minimum implementation
of the feature which satisfied the requirements I had. May be
in future with more requirements and understanding of the problem
further we can improve upon this implementation.

Here are the commands and what they do:
Enable delay-gen: (This is similar to how err-gen is enabled on the brick side)
- gluster volume set <volname> delay-gen posix

Set the percentage of fops that need to be delayed
- gluster volume set <volname> delay-gen.delay-percentage 50
Default is 10%

Set the delay in micro seconds
- gluster volume set <volname> delay-gen.delay-duration 500000
Default is 100000

Set comma separated fops to be delayed
- gluster v set r2 delay-gen.enable read,write
Default is all fops.

Fixes #257
Change-Id: Ib547bd39cc024c9cdb63754d21e3aa62fc9d6473
Signed-off-by: Pranith Kumar K <pkarampu@redhat.com>
Reviewed-on: https://review.gluster.org/17591
Smoke: Gluster Build System <jenkins@build.gluster.org>
CentOS-regression: Gluster Build System <jenkins@build.gluster.org>
Reviewed-by: Jeff Darcy <jeff@pl.atyp.us>
2017-08-31 17:17:09 +00:00
2017-08-16 15:38:49 +00:00
2017-08-04 05:26:42 +00:00
2017-08-16 15:38:49 +00:00
2017-08-31 03:45:09 +00:00
2010-03-12 04:09:34 -08:00
2011-07-18 17:24:14 +05:30
2017-06-21 10:46:17 +00:00
2017-07-18 11:22:21 +00:00
2014-09-16 02:30:36 -07:00

Gluster

Gluster is a software defined distributed storage that can scale to several petabytes. It provides interfaces for object, block and file storage.

Development

Contributions to gluster in the form of patches and new feature additions can be made by following steps outlined at Developers Guide.

Documentation

The Gluster documentation can be found at Gluster Docs.

Deployment

Quick instructions to build and install can be found in INSTALL file.

Maintainers

The list of Gluster maintainers is available in MAINTAINERS file.

License

Gluster is dual licensed under GPLV2 and LGPLV3+.

Please visit the Gluster Home Page to find out more about Gluster.

Description
No description provided
Readme 86 MiB
Languages
C 86.6%
Shell 7.5%
Python 3.6%
Perl 0.7%
Makefile 0.4%
Other 0.9%