Bug 1366939

Summary: [GSS] (6.4.z) SharedLocalYieldingClusterLockManager pauses with multiple remote lockers
Product: [JBoss] JBoss Enterprise Application Platform 6 Reporter: dereed
Component: ClusteringAssignee: Radoslav Husar <rhusar>
Status: CLOSED CURRENTRELEASE QA Contact: Michal Vinkler <mvinkler>
Severity: unspecified Docs Contact:
Priority: high    
Version: 6.4.6CC: bmaxwell, jbilek, jtruhlar, msochure, paul.ferraro, ppalaga, rhusar
Target Milestone: CR1   
Target Release: EAP 6.4.11   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2017-01-17 13:07:38 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:
Bug Depends On:    
Bug Blocks: 1368280, 1370648, 1361648    
Attachments:
Description Flags
bz1366939-test.patch none

Description dereed 2016-08-15 05:11:00 UTC
When more than one remote locker is waiting on a local lock,
only the first is notified when the lock is released.  The
rest wait their full timeout before (successfully) returning.

Comment 1 dereed 2016-08-15 05:13:28 UTC
Created attachment 1190788 [details]
bz1366939-test.patch

Test case that demonstrates issue.

Comment 2 dereed 2016-08-15 05:24:03 UTC
The main issue is that unlock only wakes up one waiter:

    LockSupport.unpark(waiters.peek());

But LocalLock.lockForRemoteNode/ClusterHandler.lockFromCluster also only let one waiter at a time take the lock (which is then removed).

Comment 6 Jiří Bílek 2016-10-05 08:57:27 UTC
Verified with EAP 6.4.11.CP.CR1

Comment 7 Petr Penicka 2017-01-17 13:07:38 UTC
Retroactively bulk-closing issues from released EAP 6.4 cummulative patches.