Bug 1852108

Summary: Separate timeout for storage management operations
Product: Red Hat Enterprise Linux 8 Reporter: Nir Soffer <nsoffer>
Component: sanlockAssignee: David Teigland <teigland>
Status: CLOSED ERRATA QA Contact: cluster-qe <cluster-qe>
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: 8.3CC: agk, cluster-maint, cmarthal, rhandlin
Target Milestone: rc   
Target Release: 8.0   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: sanlock-3.8.2-1.el8 Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2020-11-04 02:14:39 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:

Description Nir Soffer 2020-06-29 18:18:40 UTC
Description of problem:

Sanlock has complex timeouts based on I/O timeout (default 10 seconds) used
to renew delta leases and check host liveliness. These operations cannot
use arbitrary timeout or user configurable timeout.

The timeouts are documented here:
https://pagure.io/sanlock/blob/master/f/src/timeouts.h

Sanlock reuse the same base timeout (10 secodns) for other storage operations 
like formatting lockspace area, formatting resource area, creating rindex.
These operations can use arbitrary timeout or user configurable timeout.

A single timeout when renewing a lease is not critical, since the operation
is retried in the next check interval.

Single timeout when creating a lockspace or reosource fail the operation in
the management system using sanlock.

In oVirt system tests, running on virtualized environment, with unpredictable
load, we experience too much failures in sanlock operations that could be 
avoided if we had larger timeout.

Use separate timeout for normal storage operations, with larger default value
so these operations are less likely to fail on overloaded environments.

Make the new timeout configurable so users can adapt the timeout as needed.

Comment 6 Corey Marthaler 2020-09-21 18:56:13 UTC
Fixed verified in the latest rpms. I adjusted the write_init_io_timeout setting to a variety of values and saw no issues during VG creation while running standard lvmlockd+sanlock regression testing.


sanlock-3.8.2-1.el8    BUILT: Mon Aug 10 12:12:49 CDT 2020
sanlock-lib-3.8.2-1.el8    BUILT: Mon Aug 10 12:12:49 CDT 2020

kernel-4.18.0-234.el8    BUILT: Thu Aug 20 12:01:26 CDT 2020
lvm2-2.03.09-5.el8    BUILT: Wed Aug 12 15:51:50 CDT 2020
lvm2-libs-2.03.09-5.el8    BUILT: Wed Aug 12 15:51:50 CDT 2020
lvm2-lockd-2.03.09-5.el8    BUILT: Wed Aug 12 15:51:50 CDT 2020

Comment 9 errata-xmlrpc 2020-11-04 02:14:39 UTC
Since the problem described in this bug report should be
resolved in a recent advisory, it has been closed with a
resolution of ERRATA.

For information on the advisory (sanlock bug fix and enhancement update), and where to find the updated
files, follow the link below.

If the solution does not work for you, open a new bug report.

https://access.redhat.com/errata/RHBA-2020:4595