[ https://issues.apache.org/jira/browse/GEODE-2213?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15761823#comment-15761823 ]
ASF subversion and git services commented on GEODE-2213: -------------------------------------------------------- Commit b5356d65a04a20c3ac6dc309c89580ba9d1c7aec in geode's branch refs/heads/develop from [~bschuchardt] [ https://git-wip-us.apache.org/repos/asf?p=geode.git;h=b5356d6 ] GEODE-2213 Deadlock in GMSJoinLeaveJUnitTest This removes the informToPendingJoinRequests invocation in recordViewRequest. I was already testing this change as I suspected that this invocation was causing new members to timeout trying to connect to the distributed system due to informToPendingJoinRequests removing join requests from the view creator's queue. > Deadlock in GMSJoinLeaveJUnitTest > --------------------------------- > > Key: GEODE-2213 > URL: https://issues.apache.org/jira/browse/GEODE-2213 > Project: Geode > Issue Type: Bug > Components: membership > Reporter: Bruce Schuchardt > > My precheckin run hung in integrationTests with this deadlock: > {noformat} > Found one Java-level deadlock: > ============================= > "Geode Membership View Creator": > waiting to lock monitor 0x00000000153187e8 (object 0x00000000f09102e8, a > java.util.LinkedList), > which is held by "Test worker" > "Test worker": > waiting to lock monitor 0x00000000149d5ad8 (object 0x00000000f09227a8, a > org.apache.geode.distributed.internal.membership.gms.membership.GMSJoinLeave$ViewCreator), > which is held by "Geode Membership View Creator" > Java stack information for the threads listed above: > =================================================== > "Geode Membership View Creator": > at > org.apache.geode.distributed.internal.membership.gms.membership.GMSJoinLeave$ViewCreator.informToPendingJoinRequests(GMSJoinLeave.java:2153) > - waiting to lock <0x00000000f09102e8> (a java.util.LinkedList) > - locked <0x00000000f09227a8> (a > org.apache.geode.distributed.internal.membership.gms.membership.GMSJoinLeave$ViewCreator) > at > org.apache.geode.distributed.internal.membership.gms.membership.GMSJoinLeave$ViewCreator.run(GMSJoinLeave.java:2137) > "Test worker": > at > org.apache.geode.distributed.internal.membership.gms.membership.GMSJoinLeave$ViewCreator.informToPendingJoinRequests(GMSJoinLeave.java:2143) > - waiting to lock <0x00000000f09227a8> (a > org.apache.geode.distributed.internal.membership.gms.membership.GMSJoinLeave$ViewCreator) > at > org.apache.geode.distributed.internal.membership.gms.membership.GMSJoinLeave.recordViewRequest(GMSJoinLeave.java:679) > - locked <0x00000000f09102e8> (a java.util.LinkedList) > at > org.apache.geode.distributed.internal.membership.gms.membership.GMSJoinLeave.processRemoveRequest(GMSJoinLeave.java:666) > at > org.apache.geode.distributed.internal.membership.gms.membership.GMSJoinLeave.processMessage(GMSJoinLeave.java:1704) > at > org.apache.geode.distributed.internal.membership.gms.membership.GMSJoinLeaveJUnitTest.testViewNotSentWhenShuttingDown(GMSJoinLeaveJUnitTest.java:1103) > {noformat} > This looks like a pretty straightforward lock inversion that could happen any > time. -- This message was sent by Atlassian JIRA (v6.3.4#6332)