jira-importer commented on issue #524: URL: https://github.com/apache/curator/issues/524#issuecomment-2604690548
<i><a href="https://issues.apache.org/jira/secure/ViewProfile.jspa?name=githubbot">githubbot</a>:</i> <p>GitHub user wrmsr opened a pull request:</p> <p> <a href="https://github.com/apache/curator/pull/74" class="external-link" target="_blank" rel="nofollow noopener">https://github.com/apache/curator/pull/74</a></p> <p> LeaderSelector mutex resurrection</p> <p> I am not alone in experiencing situations in which my LeaderSelectors will wind up in an indefinite state of having no leader (relevant JIRA issues are listed below). This problem had been occurring nearly daily in our AWS environments (which regularly experience transient network issues). I believe I have solved this issue. This may not be the most elegant approach but, in the least, our deployments have behaved correctly since its activation.</p> <p> This branch allows an InterProcessMutex to optionally reuse an existing acquisition. This of course breaks the contract of re-entrance as stated by the InterProcessLock interface but it is not done by default and only used specifically by the LeaderSelector (which is the only thing I am interested in using it for). I have a test reliably (though hackily) reproducing this issue but it is written in terms of an internal project and as I am unfamiliar with your test code I haven't ported it yet. All existing tests pass. The term resurrect probably isn't the best but hey, it works <img class="emoticon" src="https://issues.apache.org/jira/images/icons/emoticons/tongue.png" height="16" width="16" align="absmiddle" alt="" border="0"/></p> <p> Issues possibly fixed by this branch:<br/> <a href="https://issues.apache.org/jira/browse/CURATOR-3" class="external-link" rel="nofollow">https://issues.apache.org/jira/browse/CURATOR-3</a><br/> <a href="https://issues.apache.org/jira/browse/CURATOR-171" class="external-link" rel="nofollow">https://issues.apache.org/jira/browse/CURATOR-171</a><br/> <a href="https://issues.apache.org/jira/browse/CURATOR-188" class="external-link" rel="nofollow">https://issues.apache.org/jira/browse/CURATOR-188</a><br/> <a href="https://issues.apache.org/jira/browse/CURATOR-202" class="external-link" rel="nofollow">https://issues.apache.org/jira/browse/CURATOR-202</a><br/> <a href="https://issues.apache.org/jira/browse/CURATOR-205" class="external-link" rel="nofollow">https://issues.apache.org/jira/browse/CURATOR-205</a></p> <p>You can merge this pull request into a Git repository by running:</p> <p> $ git pull <a href="https://github.com/wrmsr/curator" class="external-link" target="_blank" rel="nofollow noopener">https://github.com/wrmsr/curator</a> mutex_resurrection</p> <p>Alternatively you can review and apply these changes as the patch at:</p> <p> <a href="https://github.com/apache/curator/pull/74.patch" class="external-link" target="_blank" rel="nofollow noopener">https://github.com/apache/curator/pull/74.patch</a></p> <p>To close this pull request, make a commit to your master/trunk branch<br/> with (at least) the following in the commit message:</p> <p> This closes #74</p> <hr /> <p>commit b06ded7b0c76da9e2e14b593599ba2eb9c0b8b72<br/> Author: William Timoney <wtimo...@140-sfoengwifi55-160.clients.corp.yelpcorp.com><br/> Date: 2015-04-27T23:24:29Z</p> <p> mutex resurrection</p> <p>commit 298982f6b2a2175ef568da20c7dd48f733ed4025<br/> Author: William Timoney <wtimo...@140-sfoengwifi55-160.clients.corp.yelpcorp.com><br/> Date: 2015-04-28T00:06:41Z</p> <p> test fix</p> <p>commit b21543b0788591ddbe5c64f47caa14dd8b9583a4<br/> Author: William Timoney <wtimo...@140-sfoengwifi55-160.clients.corp.yelpcorp.com><br/> Date: 2015-04-28T00:08:49Z</p> <p> indent</p> <hr /> -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: dev-unsubscr...@curator.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org