Bug 448108

Summary: rgmanager can get stuck forever with gulm
Product: [Retired] Red Hat Cluster Suite Reporter: Corey Marthaler <cmarthal>
Component: rgmanagerAssignee: Lon Hohberger <lhh>
Status: CLOSED ERRATA QA Contact: Cluster QE <mspqa-list>
Severity: medium Docs Contact:
Priority: medium    
Version: 4CC: cluster-maint, edamato
Target Milestone: rcKeywords: Regression
Target Release: ---   
Hardware: All   
OS: Linux   
Whiteboard:
Fixed In Version: RHBA-2008-0791 Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2008-07-25 19:16:22 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:

Description Corey Marthaler 2008-05-23 14:31:37 UTC
Description of problem:


Version-Release number of selected component (if applicable):


How reproducible:
I hit this while running 4.7 rgmanager regression tests. 
It appears that a lock will not be released from gulm after the process holding
it dies. This will cause the lock to hang if it is attempted again (like in the
case of service relocation).


Steps to Reproduce:
1. magma_tool lock mylock
2. ^Z and kill the process
3. try the lock again... it's stuck

Comment 1 Corey Marthaler 2008-05-23 14:33:22 UTC
RPM versions:
rgmanager-debuginfo-1.9.78-1
rgmanager-1.9.78-1
magma-debuginfo-1.0.8-1
magma-1.0.8-1
magma-plugins-1.0.14-1
magma-plugins-debuginfo-1.0.14-1
magma-devel-1.0.8-1
gulm-devel-1.0.10-0
gulm-1.0.10-0
gulm-debuginfo-1.0.10-0


Comment 2 Lon Hohberger 2008-05-23 15:32:24 UTC
So, this is a bug in gulm which I think is affecting rgmanager.

If you kill a process which has a gulm lock, the lock is never released.

Comment 3 Lon Hohberger 2008-05-23 15:35:19 UTC
Note: it may be a "works as intended" method of operation to support lock
failover.  I'm looking at the gulm code to see if Slave-side caching of locks is
done by-connection (I expect it is, but I don't know).

If so, I am contemplating making a patch to gulm which will allow locks to be
dropped if the connection from Slave->client (on the same host) or
Master->client (on the same host) dies.

The reason we can't do client->Master (on a different host) is because failover
of support of the masters requires the ability to reconnect as-needed.


Comment 4 RHEL Program Management 2008-05-23 15:41:42 UTC
This bugzilla has Keywords: Regression.  

Since no regressions are allowed between releases, 
it is also being proposed as a blocker for this release.  

Please resolve ASAP.

Comment 6 Lon Hohberger 2008-05-27 22:02:58 UTC
Modified.

Comment 7 Lon Hohberger 2008-05-28 13:40:09 UTC
As it turns out, this bugzilla was due to an incorrect unlock check in
rgmanager; a two-line patch fixes it.

Gulm does hold locks open even if the process dies, but I do not believe this is
a bug - rather, I believe this is a "works as intended".

Comment 8 Corey Marthaler 2008-06-02 18:23:11 UTC
Fix verified in rgmanager-1.9.80-1.

Comment 10 errata-xmlrpc 2008-07-25 19:16:22 UTC
An advisory has been issued which should help the problem
described in this bug report. This report is therefore being
closed with a resolution of ERRATA. For more information
on the solution and/or where to find the updated files,
please follow the link below. You may reopen this bug report
if the solution does not work for you.

http://rhn.redhat.com/errata/RHBA-2008-0791.html